Semalt sérfræðingur útskýrir hvernig á að skafa vefsíðu AJAX með Python

Vefskrapun er aðferð sem notar notkun hugbúnaðar til að vinna úr gögnum af vefsíðu. Það er mikið af tækjum til að nota til að skafa vefinn með Python, en sum þeirra eru; Himinn, skafrenningur, beiðnir og falleg súpa. Samt sem áður eru flest þessi tæki takmörkuð af því að þau sækja aðeins fastan HTML sem kemur frá netþjóninum en ekki kviku hlutanum sem JavaScript hefur gert.

Hins vegar eru nokkrar aðferðir sem hægt er að vinna bug á þessu vandamáli:

1. Sjálfvirkir vafrar

Þú getur notað sjálfvirka vafra eins og Selenium eða Splash sem eru fullir vafrar sem keyra höfuðlaust. Samt sem áður getur það verið nokkuð flókið að setja þær upp og því munum við einbeita okkur að seinni valkostinum hér að neðan.

2. Hleraðu AJAX símtöl

Þetta felur í sér að reyna að stöðva AJAX símtöl frá síðunni og reyna að spila aftur eða endurskapa þau.

Í þessari grein munum við einbeita okkur hvernig hægt er að ná AJAX símtölum og spila þau aftur með því að nota beiðni bókasafnsins og vafra Google Chrome. Þó að ramma eins og Scrapy gæti veitt þér skilvirkari lausn þegar kemur að skafa, er það ekki krafist í öllum tilvikum. AJAX símtöl eru að mestu leyti framkvæmd á API sem skilar JSON hlut sem beiðni bókasafnið getur auðveldlega séð.

Það fyrsta sem þú þarft að vita er að það að reyna að spila aftur AJAX símtal er eins og að nota skjalalaust API. Þess vegna verður þú að skoða öll símtöl sem síðurnar hringja í. Þú getur farið á síðuna, leikið við það smá stund og séð hvernig einhverjar upplýsingar eru gefnar. Þegar þú ert búinn að spila skaltu koma aftur og byrja að skafa.

Við skulum fyrst skilja hvernig þessi síða virkar áður en við komum að smáatriðum. Ef þú heimsækir síðu verslana eftir ríki, veldu hvaða stöðu sem er og síðan birtir upplýsingar um verslunina. Í hvert skipti sem þú velur ríki gerir vefsíðan nýjar verslanir í stað þeirra gömlu. Þetta er náð með því að nota og AJAX hringja í netþjóninn sem biður um upplýsingarnar. Ætlun okkar núna er að ná símtalinu og spila það á ný.

Til að gera það, allt sem þú þarft að gera er að opna Chrome vafrann DevTools hugga og fara á XHR undirkafla. XHR er viðmót sem framkvæmir HTTP og HTTPS beiðnir. Þannig verða AJAX beiðnir sýndar hér. Þegar þú tvöfaldar smellir á AJAX símtalið finnur þú mikið af upplýsingum um verslanirnar. Þú getur líka forskoðað beiðnirnar.

Þú tekur fram að mikið af gögnum er sent til netþjónsins. Hafðu þó ekki áhyggjur þar sem ekki er allt krafist. Til að sjá hvaða gögn þú þarft þarftu að opna leikjatölvu og framkvæma ýmsar póstbeiðnir á heimasíðuna. Nú þegar þú veist hvernig síðan virkar og hefur leyst AJAX símtalið geturðu skrifað sköfuna þína.

Þú gætir verið að spyrja, 'af hverju ekki að nota sjálfvirkan vafra?' Lausnin er einföld; reyndu alltaf að spila AJAX símtölin aftur áður en þú byrjar á eitthvað miklu þyngra og flóknara eins og sjálfvirkan vafra. Það er einfaldara og léttara.

png

mass gmail