PDA

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


TravkaCode.lover()
17.01.2024, 21:34
Приветствую. Хотелось бы узнать как можно парсить динам. сайты без вебдрайвера(возможно ли такое)



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

Хотелось бы узнать есть ли альтернативные способы парсинга динамических сайтов(весь интернет облазил)

OSPx
17.01.2024, 21:41
maybe

Scrapy

Open-source framework for efficient web scraping and data extraction.

scrapy.org


GitHub - scrapy-plugins/scrapy-splash: Scrapy+Splash for JavaScript integration (https://github.com/scrapy-plugins/scrapy-splash)

Scrapy+Splash for JavaScript integration. Contribute to scrapy-plugins/scrapy-splash development by creating an account on GitHub.

github.com

Dickson
18.01.2024, 11:19
webdriver от селениума


не используй хром, там помимо хрома есть пара различных браузеров

TravkaCode.lover()
18.01.2024, 20:56
maybe

Scrapy

Open-source framework for efficient web scraping and data extraction.

scrapy.org


GitHub - scrapy-plugins/scrapy-splash: Scrapy+Splash for JavaScript integration (https://github.com/scrapy-plugins/scrapy-splash)

Scrapy+Splash for JavaScript integration. Contribute to scrapy-plugins/scrapy-splash development by creating an account on GitHub.

github.com



Попробую завтра



не используй хром, там помимо хрома есть пара различных браузеров


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

kiaostashi
19.01.2024, 16:41
scrapy, bs

на крайняк api

Dickson
19.01.2024, 19:51
я все возможные браузеры попробывал у вебдрайвера, они +- одинаково нагружают сервер


у меня на сервере с 2 гб озу спокойной работал парс

neverlane
19.01.2024, 19:58
парсит страницу с составом организаций


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

TravkaCode.lover()
19.01.2024, 22:07
и нахуя тогда тебе вебдрайвер? не можешь получить страницу простым запросом и любым htmlparser'ом спарить её?


Было бы оно все так легко

ответ от обычного запроса

HTML:







Please turn JavaScript on and reload the page.

w3IncludeHTML(true);

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\x 75\x2C\x20\x33\x31\x2D\x44\x65\x63\x2D\x33\x37\x20 \x32\x33\x3A\x35\x35\x3A\x35\x35\x20\x47\x4D\x54\x 3B\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[_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);





Должно быть

https://forum.antichat.xyz/attachments/28444242/img_6d9e2a3e3e.png

neverlane
19.01.2024, 22:32
Было бы оно все так легко

ответ от обычного запроса

HTML:







Please turn JavaScript on and reload the page.

w3IncludeHTML(true);

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\x 75\x2C\x20\x33\x31\x2D\x44\x65\x63\x2D\x33\x37\x20 \x32\x33\x3A\x35\x35\x3A\x35\x35\x20\x47\x4D\x54\x 3B\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[_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);





Должно быть


ну гагажги хаваешь, потому что реактлаб сосу защита

её оч легко обойти

https://www.blast.hk/threads/178585/post-1318765 (https://forum.antichat.xyz/threads/1478585/post-1318765)

TravkaCode.lover()
19.01.2024, 23:22
ну гагажги хаваешь, потому что реактлаб сосу защита
её оч легко обойти

https://www.blast.hk/threads/178585/post-1318765 (https://forum.antichat.xyz/threads/1478585/post-1318765)


Попробывал код, заменил accept и user-agent, в createBypassedSession вставил нужную ссылку ->

neverlane
20.01.2024, 15:32
Попробывал код, заменил accept и user-agent, в createBypassedSession вставил нужную ссылку ->


ну так делай запрос, функция вернула тебе сессию, в которой уже есть кука для обхода защиты

TravkaCode.lover()
20.01.2024, 17:08
ну так делай запрос, функция вернула тебе сессию, в которой уже есть кука для обхода защиты


А господи, все спасибо, все работает.