Парсинг Динамических сайтов

TravkaCode.lover()

Участник
Автор темы
99
26
Приветствую. Хотелось бы узнать как можно парсить динам. сайты без вебдрайвера(возможно ли такое)


У меня есть код который парсит страницу с составом организаций, код работает все хорошо но он слишком много жрет(webdriver от селениума) хост просто не выдерживает.
Хотелось бы узнать есть ли альтернативные способы парсинга динамических сайтов(весь интернет облазил)
 
Решение
Было бы оно все так легко

ответ от обычного запроса
HTML:
<!DOCTYPE html>
<html>
<script src="/vddosw3data.js"></script>
<body>
<div w3-include-html="/5s.html"></div>
<noscript><h1 style="text-align:center;color:red;"><strong>Please turn JavaScript on and reload the page.</strong></h1></noscript>
<script>
w3IncludeHTML(true);
</script>
<script type="text/javascript" src="/aes.min.js" ></script><script>
var...

TravkaCode.lover()

Участник
Автор темы
99
26
maybe
Попробую завтра

не используй хром, там помимо хрома есть пара различных браузеров
я все возможные браузеры попробывал у вебдрайвера, они +- одинаково нагружают сервер
 

neverlane

t.me/neverlane00
Друг
997
1,132

TravkaCode.lover()

Участник
Автор темы
99
26
и нахуя тогда тебе вебдрайвер? не можешь получить страницу простым запросом и любым htmlparser'ом спарить её?
Было бы оно все так легко

ответ от обычного запроса
HTML:
<!DOCTYPE html>
<html>
<script src="/vddosw3data.js"></script>
<body>
<div w3-include-html="/5s.html"></div>
<noscript><h1 style="text-align:center;color:red;"><strong>Please turn JavaScript on and reload the page.</strong></h1></noscript>
<script>
w3IncludeHTML(true);
</script>
<script type="text/javascript" src="/aes.min.js" ></script><script>
var _0x6c57=["\x70\x75\x73\x68","\x72\x65\x70\x6C\x61\x63\x65","\x6C\x65\x6E\x67\x74\x68","\x63\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72","","\x30","\x74\x6F\x4C\x6F\x77\x65\x72\x43\x61\x73\x65","4a7cfdf8af5dbb28dc72b0c9ef2ea6bc","b2abcd5f8fa54350af9478551a4ddc78","af44b55b646780f027294f347f9a8abb","\x63\x6F\x6F\x6B\x69\x65","\x52\x33\x41\x43\x54\x4C\x42\x3D","\x64\x65\x63\x72\x79\x70\x74","\x3B\x20\x65\x78\x70\x69\x72\x65\x73\x3D\x54\x68\x75\x2C\x20\x33\x31\x2D\x44\x65\x63\x2D\x33\x37\x20\x32\x33\x3A\x35\x35\x3A\x35\x35\x20\x47\x4D\x54\x3B\x20\x70\x61\x74\x68\x3D\x2F"];function toNumbers(_0x7fdax2){var _0x7fdax3=[];_0x7fdax2[_0x6c57[1]](/(..)/g,function(_0x7fdax2){_0x7fdax3[_0x6c57[0]](parseInt(_0x7fdax2,16))});return _0x7fdax3}function toHex(){for(var _0x7fdax2=1== arguments[_0x6c57[2]]&& arguments[0][_0x6c57[3]]== Array?arguments[0]:arguments,_0x7fdax3=_0x6c57[4],_0x7fdax5=0;_0x7fdax5< _0x7fdax2[_0x6c57[2]];_0x7fdax5++){_0x7fdax3+= (16> _0x7fdax2[_0x7fdax5]?_0x6c57[5]:_0x6c57[4])+ _0x7fdax2[_0x7fdax5].toString(16)};return _0x7fdax3[_0x6c57[6]]()}var a=toNumbers(_0x6c57[7]),b=toNumbers(_0x6c57[8]),c=toNumbers(_0x6c57[9]);document[_0x6c57[10]]= _0x6c57[11]+ toHex(slowAES[_0x6c57[12]](c,2,a,b))+ _0x6c57[13]
setTimeout("location.href='https://old.rodina-rp.com:443/mon/fraction/3/1';",5000);</script>
<center>
<br />
<br />
<center/>
</body>
</html>
Должно быть
1705687672215.png
 

neverlane

t.me/neverlane00
Друг
997
1,132
Было бы оно все так легко

ответ от обычного запроса
HTML:
<!DOCTYPE html>
<html>
<script src="/vddosw3data.js"></script>
<body>
<div w3-include-html="/5s.html"></div>
<noscript><h1 style="text-align:center;color:red;"><strong>Please turn JavaScript on and reload the page.</strong></h1></noscript>
<script>
w3IncludeHTML(true);
</script>
<script type="text/javascript" src="/aes.min.js" ></script><script>
var _0x6c57=["\x70\x75\x73\x68","\x72\x65\x70\x6C\x61\x63\x65","\x6C\x65\x6E\x67\x74\x68","\x63\x6F\x6E\x73\x74\x72\x75\x63\x74\x6F\x72","","\x30","\x74\x6F\x4C\x6F\x77\x65\x72\x43\x61\x73\x65","4a7cfdf8af5dbb28dc72b0c9ef2ea6bc","b2abcd5f8fa54350af9478551a4ddc78","af44b55b646780f027294f347f9a8abb","\x63\x6F\x6F\x6B\x69\x65","\x52\x33\x41\x43\x54\x4C\x42\x3D","\x64\x65\x63\x72\x79\x70\x74","\x3B\x20\x65\x78\x70\x69\x72\x65\x73\x3D\x54\x68\x75\x2C\x20\x33\x31\x2D\x44\x65\x63\x2D\x33\x37\x20\x32\x33\x3A\x35\x35\x3A\x35\x35\x20\x47\x4D\x54\x3B\x20\x70\x61\x74\x68\x3D\x2F"];function toNumbers(_0x7fdax2){var _0x7fdax3=[];_0x7fdax2[_0x6c57[1]](/(..)/g,function(_0x7fdax2){_0x7fdax3[_0x6c57[0]](parseInt(_0x7fdax2,16))});return _0x7fdax3}function toHex(){for(var _0x7fdax2=1== arguments[_0x6c57[2]]&& arguments[0][_0x6c57[3]]== Array?arguments[0]:arguments,_0x7fdax3=_0x6c57[4],_0x7fdax5=0;_0x7fdax5< _0x7fdax2[_0x6c57[2]];_0x7fdax5++){_0x7fdax3+= (16> _0x7fdax2[_0x7fdax5]?_0x6c57[5]:_0x6c57[4])+ _0x7fdax2[_0x7fdax5].toString(16)};return _0x7fdax3[_0x6c57[6]]()}var a=toNumbers(_0x6c57[7]),b=toNumbers(_0x6c57[8]),c=toNumbers(_0x6c57[9]);document[_0x6c57[10]]= _0x6c57[11]+ toHex(slowAES[_0x6c57[12]](c,2,a,b))+ _0x6c57[13]
setTimeout("location.href='https://old.rodina-rp.com:443/mon/fraction/3/1';",5000);</script>
<center>
<br />
<br />
<center/>
</body>
</html>
Должно быть
Посмотреть вложение 229378
ну гагажги хаваешь, потому что реактлаб сосу защита
её оч легко обойти

 

TravkaCode.lover()

Участник
Автор темы
99
26

neverlane

t.me/neverlane00
Друг
997
1,132
Попробывал код, заменил accept и user-agent, в createBypassedSession вставил нужную ссылку -> <requests.sessions.Session object at 0x0000019FF8E6F110>
ну так делай запрос, функция вернула тебе сессию, в которой уже есть кука для обхода защиты
 
  • Нравится
Реакции: TravkaCode.lover()