Semalt Expert selittää, kuinka AJAX-verkkosivusto kaapitaan Pythonin avulla

Web-kaavinta on menetelmä, jossa käytetään ohjelmistoa tietojen poimimiseen verkkosivulta. Verkon raaputtamiseen pythonilla on paljon työkaluja, joista osa on; Taivas, terapia, pyynnöt ja kaunis keitto. Suurinta osaa näistä työkaluista rajoittaa kuitenkin se, että ne noutavat vain palvelimelta tulevan staattisen HTML-koodin, ei JavaScriptin tuottaman dynaamisen osan.

On kuitenkin joitain tekniikoita, joilla tämä ongelma voidaan ratkaista:

1. Automatisoidut selaimet

Voit käyttää automatisoituja selaimia, kuten Seleeni tai Splash, jotka ovat täydellisiä selaimia, jotka käyttävät päättömiä. Niiden asettaminen voi kuitenkin olla melko monimutkaista, joten keskitymme alla olevaan toiseen vaihtoehtoon.

2. Kuuntele AJAX-puhelut

Tähän kuuluu yrittää siepata AJAX-puhelut sivulta ja yrittää toistaa tai toistaa ne.

Tässä artikkelissa keskitymme siihen, kuinka AJAX-puhelut saadaan kiinni ja soitetaan uudelleen käyttämällä pyyntökirjastoa ja Google Chrome -selainta. Vaikka Scrapian kaltaiset kehykset saattavat tarjota tehokkaamman ratkaisun kaavinnassa, sitä ei vaadita kaikissa tapauksissa. AJAX-puhelut suoritetaan useimmiten sovellusliittymää vastaan, joka palauttaa JSON-objektin, jonka Pyynnöt-kirjasto voi helposti käsitellä.

Ensimmäinen asia, joka sinun on tiedettävä, on, että AJAX-puhelun uudelleenyrityksen yrittäminen on kuin asiakirjattoman sovellusliittymän käyttö. Siksi sinun on tarkasteltava kaikkia sivujen soittoja. Voit mennä sivustolle, pelata sen kanssa hetken ja nähdä, kuinka osa tiedoista esitetään. Kun olet pelannut, tule takaisin ja aloita kaavinta.

Ennen kuin tutustumme yksityiskohtiin, ymmärrämme ensin, miten sivu toimii. Jos vierailet myymäläsivulla valtion mukaan, valitse mikä tahansa tila, ja sivu näyttää tietoja myymälästä. Aina kun valitset valtion, verkkosivusto tarjoaa uusia kauppoja korvaamaan vanhat. Tämä saavutetaan käyttämällä ja AJAX-puhelua palvelimelle, joka pyytää tietoja. Tarkoituksenamme on nyt tarttua soittoon ja toistaa se uudelleen.

Sinun tarvitsee vain avata lohdutettu Chrome-selain DevTools ja siirtyä XHR-alaosaan. XHR on käyttöliittymä, joka suorittaa HTTP- ja HTTPS-pyyntöjä. Siksi AJAX-pyynnöt näytetään täällä. Kun kaksoisnapsautat AJAX-puhelua, löydät kaupoista paljon tietoa. Voit myös esikatsella pyyntöjä.

Huomaa, että palvelimelle lähetetään paljon tietoa. Älä kuitenkaan huolestu, koska kaikkea sitä ei vaadita. Voit tarkistaa tarvitsemasi tiedot avaamalla konsolin ja suorittamalla useita postituspyyntöjä verkkosivustolle. Nyt kun tiedät, miten sivu toimii, ja olet tulkinnut AJAX-puhelun, voit kirjoittaa kaavin.

Saatat kysyä, "miksi et käytä automaattista selainta?" Ratkaisu on yksinkertainen; yritä aina toistaa AJAX-puhelut ennen kuin aloitat jotain paljon raskaampaa ja monimutkaisempaa, kuten automaattinen selain. Se on yksinkertaisempi ja kevyempi.

png

mass gmail