ВОПРОС · Q&A

Пожалуйста, объясните содержимое python скрипта.

5 ответов 2,8 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Автор вопроса
Всем доброго времени суток.
Пожалуйста, объясните содержание данного скрипта:


Python:
import requests
import hashlib
import re



url="http://docker.hackthebox.eu:33205/"

r=requests.session()
out=r.get(url)
out=re.search("<h3 align='center'>+.*?</h3>",out.text)
out=re.search("'>.*<",out[0])
out=re.search("[^|'|>|<]...................",out[0])

out=hashlib.md5(out[0].encode('utf-8')).hexdigest()

print("sending md5 :-{}".format(out))

data={'hash': out}
out = r.post(url = url, data = data)

print(out.text)

Самое трудное для моего понимания начинается со строчки: out=re.search("<h3 align='center'>+.*?</h3>",out.text)
Буду благодарен =)
 
Это поиск по ссылке и вывод того, что он нашёл
вот ссылка где он ищет: http://docker.hackthebox.eu:33205/
Надеюсь, что помог.
 
Это поиск по ссылке и вывод того, что он нашёл
вот ссылка где он ищет: http://docker.hackthebox.eu:33205/
Надеюсь, что помог.
Это да, просто там суть не только в этом)
Скрипт берет со страницы содержание тега h3, шифрует его посредством md5 и отправляет в форму на этой странице.
Просто непонятен сам код)
Зачем к примеру в строчке
out=re.search("<h3 align='center'>+.*?</h3>",out.text)
Знаки "+.*?"
А так же
out=re.search("[^|'|>|<]...................",out[0])
 
Это да, просто там суть не только в этом)
Скрипт берет со страницы содержание тега h3, шифрует его посредством md5 и отправляет в форму на этой странице.
Просто непонятен сам код)
Зачем к примеру в строчке
out=re.search("<h3 align='center'>+.*?</h3>",out.text)
Знаки "+.*?"
А так же
out=re.search("[^|'|>|<]...................",out[0])
Знаки "+.*?" представляют собой описание регулярного выражения (на самом деле очень странного.
. - поиск одного любого символа
+ - один или больше символов
? - ноль или один символ
* - квантификатор бесконечного количества.

А в последней строке [^|'|>|<]
^ -исключает следующие за ней символы (|'|>|<) из поиска
. - любой символ (19 точек, значит, 19 символов)
 
Знаки "+.*?" представляют собой описание регулярного выражения (на самом деле очень странного.
. - поиск одного любого символа
+ - один или больше символов
? - ноль или один символ
* - квантификатор бесконечного количества.

А в последней строке [^|'|>|<]
^ -исключает следующие за ней символы (|'|>|<) из поиска
. - любой символ (19 точек, значит, 19 символов)
Благодарю, очень полезный ответ =)

Это регулярка, почитать можно здесь
Большое спасибо =)