Semalt eksperts izskaidro, kā nokasīt AJAX vietni, izmantojot Python

Tīmekļa nokasīšana ir metode, kurā izmanto programmatūru, lai iegūtu datus no Web lapas. Ir daudz rīku, kas izmantojami tīmekļa tīrīšanai ar python, daži no tiem ir; Debesis, terapija, pieprasījumi un skaista zupa. Tomēr lielāko daļu šo rīku ierobežo fakts, ka tie izgūst tikai statisku HTML, kas nāk no servera, nevis JavaScript dinamisko daļu.

Tomēr ir daži paņēmieni, kā šo problēmu novērst:

1. Automatizētās pārlūkprogrammas

Varat izmantot automatizētas pārlūkprogrammas, piemēram, Selēns vai Splash, kuras ir pilnas pārlūkprogrammas, kas darbojas bez galvas. Tomēr to iestatīšana var būt diezgan sarežģīta, un tāpēc mēs koncentrēsimies uz otro iespēju zemāk.

2. pārtveriet AJAX zvanus

Tas nozīmē mēģinājumu pārtvert AJAX zvanus no lapas un mēģināt tos atkārtot vai reproducēt.

Šajā rakstā galvenā uzmanība tiks pievērsta tam, kā noķert AJAX zvanus un tos atkārtoti atskaņot, izmantojot pieprasījumu bibliotēku un pārlūku Google Chrome. Kaut arī tādas struktūras kā Scrapy var sniegt jums efektīvāku risinājumu, kad runa ir par skrāpēšanu, tas nav vajadzīgs visos gadījumos. AJAX zvani lielākoties tiek veikti, izmantojot API, kas atdos JSON objektu, kuru Pieprasījumu bibliotēka var viegli apstrādāt.

Pirmais, kas jums jāzina, ir tas, ka mēģinājums atkārtot AJAX zvanu ir tāds, kā izmantot nedokumentētu API. Tāpēc jums ir jāaplūko visi zvani, ko veic lapas. Varat doties uz vietni, kādu laiku spēlēt ar to un redzēt, kā tiek parādīta kāda informācija. Kad esat pabeidzis spēlēt, atgriezieties un sāciet kasīt.

Pirms iedziļināties detaļās, vispirms ļaujiet mums saprast, kā šī lapa darbojas. Ja apmeklējat veikala lapu pēc stāvokļa, atlasiet jebkuru štatu, un lapa sniegs informāciju par veikalu. Katru reizi, kad izvēlaties štatu, vietne piešķir jaunus veikalus, lai aizstātu vecos. Tas tiek panākts, izmantojot un AJAX zvanu uz serveri, kas prasa informāciju. Mūsu mērķis tagad ir panākt šo zvanu un atkārtot to.

Lai to izdarītu, jums atliek tikai atvērt Chrome pārlūka DevTools mierinājumu un pāriet uz XHR apakšsadaļu. XHR ir saskarne, kas veic HTTP un HTTPS pieprasījumus. Tādējādi šeit tiks parādīti AJAX pieprasījumi. Veicot dubultklikšķi uz AJAX zvanu, veikalos atradīsit daudz informācijas. Varat arī priekšskatīt pieprasījumus.

Jūs ņemsit vērā, ka uz serveri tiek nosūtīts daudz datu. Tomēr neuztraucieties, jo ne visi no tā ir nepieciešami. Lai redzētu, kādi dati jums nepieciešami, varat atvērt konsoli un veikt dažādus tīmekļa vietnes pieprasījumus. Tagad, kad jūs zināt, kā lapa darbojas, un esat atšifrējis AJAX zvanu, varat uzrakstīt skrāpi.

Jums var jautāt: “Kāpēc neizmantot automatizētu pārlūku?” Risinājums ir vienkāršs; vienmēr mēģiniet atkārtot AJAX zvanus, pirms sākat kaut ko daudz smagāku un sarežģītāku, piemēram, automatizētu pārlūku. Tas ir vienkāršāks un vieglāks.

png

mass gmail