Semaltov stručnjak objašnjava kako izbrisati AJAX web mjesto koristeći Python

Web scraping je metoda koja koristi korištenje softvera za izdvajanje podataka s web stranice. Postoji puno alata koji se koriste za struganje weba pitonom, od kojih su neki; Nebo, Scrappy, zahtjevi i prekrasna juha. Međutim, većina je ovih alata ograničena činjenicom da dohvaćaju samo statički HTML koji dolazi s poslužitelja, a ne dinamički dio koji pruža JavaScript.

Međutim, postoje neke tehnike pomoću kojih se ovaj problem može prevladati:

1. Automatizirani preglednici

Možete koristiti automatizirane preglednike poput Selenium ili Splash koji su puni preglednici koji rade bez glave. Međutim, njihovo postavljanje može biti prilično složeno, pa ćemo se u nastavku usredotočiti na drugu opciju.

2. Prekinuti AJAX pozive

To uključuje pokušaj presretanja AJAX poziva sa stranice i pokušaj reprodukcije ili reprodukcije.

U ovom ćemo se članku usredotočiti na to kako uhvatiti AJAX pozive i reproducirati ih koristeći knjižnicu zahtjeva i preglednik Google Chrome. Iako vam okviri poput Scrap-a mogu pružiti učinkovitije rješenje kada je riječ o struganju, to nije potrebno za sve slučajeve. AJAX pozivi se uglavnom izvode protiv API-ja koji će vratiti JSON objekt s kojim se knjižnica Zahtjevi lako može nositi.

Prvo što trebate znati je da je pokušaj ponovne reprodukcije AJAX poziva poput upotrebe nedokumentiranog API-ja. Stoga morate pogledati sve pozive na stranicama. Možete posjetiti stranicu, igrati se s njom neko vrijeme i vidjeti kako se prikazuju neke informacije. Nakon što završite s igranjem, vratite se i počnite strugati.

Prije nego što uđemo u detalje, prvo razumimo kako stranica funkcionira. Ako posjetite stranicu prodavaonice po državi, odaberite bilo koju državu i stranica će prikazati podatke o trgovini. Svaki put kad odaberete državu, web stranica prikazuje nove trgovine kako bi zamijenila stare. To se postiže korištenjem i AJAX pozivom na poslužitelj koji traži informacije. Naša je namjera sada uhvatiti taj poziv i ponoviti ga.

Da biste to učinili, sve što morate učiniti je otvoriti Chrome preglednik DevTools utješan i krenuti u XHR pododjeljak. XHR je sučelje koje izvodi HTTP i HTTPS zahtjeve. Tako će ovdje biti prikazani zahtjevi AJAX. Kada dvaput kliknete AJAX poziv, pronaći ćete puno informacija u trgovinama. Također možete pregledati zahtjeve.

Primijetit ćete da se na server šalje puno podataka. Međutim, ne brinite, jer sve to nije potrebno. Da biste vidjeli koje podatke trebate, možete otvoriti konzolu i izvršiti različite zahtjeve za slanje na web mjesto. Sada kada znate kako stranica funkcionira i dešifrirali ste AJAX poziv, možete napisati svoj strugač.

Možda se pitate: 'zašto ne biste koristili automatizirani preglednik?' Rješenje je jednostavno; uvijek pokušajte ponovno reproducirati AJAX pozive prije nego što se upustite u nešto mnogo teže i složenije, poput automatiziranog preglednika. Jednostavnije je i lakše.

png

mass gmail