Semalt Expert мефаҳмонад, ки чӣ тавр як вебсайти AJAX-ро бо истифодаи Python скрепер кардан лозим аст

Скраппинги веб ин усулест, ки истифодаи нармафзорро барои ба даст овардани иттилоот аз як саҳифаи интернетӣ истифода мекунад. Бисёр воситаҳо барои пошидани веб бо python истифода мешаванд, баъзеи онҳо бошанд; Sky, Scrapy, дархостҳо ва шӯрбои зебо. Аммо, аксарияти ин воситаҳо аз он сабаб маҳдуданд, ки онҳо танҳо статикии HTML –ро, ки аз сервер меоянд, қабул мекунанд, на қисми динамикии JavaScript.

Бо вуҷуди ин, чанд методҳое ҳастанд, ки дар онҳо ин мушкилот бартараф хоҳад шуд:

1. Браузерҳои худкор

Шумо метавонед браузерҳои худкорро ба мисли Selenium ё Splash истифода баред, ки онҳо браузерҳои пурраи бе кор мебошанд. Аммо, насб кардани онҳо метавонад хеле мураккаб бошад ва аз ин рӯ, мо ба варианти дуввуми зер тамаркуз хоҳем кард.

2. Нигоҳ доштани зангҳои AJAX

Ин кӯшиши боздоштани зангҳои AJAX-ро аз саҳифа ва кӯшиши такрорӣ ё такрори онҳоро дар бар мегирад.

Дар ин мақола, мо диққат медиҳем, ки чӣ тавр зангҳои AJAX-ро дастгир кардан ва дубора ба онҳо тавассути истифодаи Китобхонаи дархостҳо ва браузери Google Chrome такмил додан лозим аст. Гарчанде чаҳорчӯбаҳо ба монанди Scrapy метавонанд ҳангоми ҳалли матоъ ба шумо ҳалли бештар муассир расонанд, аммо ин барои ҳама ҳолатҳо талаб карда намешавад. Зангҳои AJAX асосан бар зидди API иҷро карда мешаванд, ки объекти JSON-ро, ки китобхонаи дархостҳо метавонад ба осонӣ идора кунад, бармегардонад.

Аввалин чизе, ки шумо бояд донед, ин кӯшиши такрории занги AJAX аст, ба монанди истифодаи API бе ҳуҷҷатгузорӣ. Аз ин рӯ, шумо бояд ба ҳама зангҳои саҳифаҳо нигаред. Шумо метавонед ба сайт ворид шавед, каме каме бо он бозӣ кунед ва бубинед, ки баъзе маълумотҳо чӣ гуна оварда мешаванд. Пас аз он ки шумо бозӣ карда истодаед, бозгардед ва ба харошидан шурӯъ кунед.

Пеш аз он ки ба тафсилот ворид шавем, биёед аввал фаҳмем, ки саҳифа чӣ гуна кор мекунад. Агар шумо аз саҳифаи дӯконҳо боздид кунед, ҳама ҳолатро интихоб кунед ва саҳифа дар бораи мағоза маълумот медиҳад. Ҳар дафъае, ки шумо як иёлатро интихоб мекунед, вебсайт мағозаҳои навро ба ивази ҷойҳои пешина пешниҳод мекунад. Ин тавассути истифодаи ва AJAX ба сервере, ки маълумот дархост менамояд, ноил мешавад. Ҳоло нияти мо ин зангро дарёфт кардан ва дубора ҷавоб додан аст.

Барои ин, танҳо ба шумо лозим аст, ки браузери Chrome DevTools-ро кушоед ва ба зергурӯҳи XHR гузаред. XHR интерфейсест, ки дархостҳои HTTP ва HTTPS-ро иҷро мекунад. Ҳамин тариқ, дархостҳои AJAX дар ин ҷо нишон дода мешаванд. Вақте ки шумо занги AJAX-ро ду маротиба клик мекунед, шумо дар мағозаҳо маълумоти зиёдеро пайдо мекунед. Шумо инчунин метавонед дархостҳоро пешакӣ дида бароед.

Шумо қайд мекунед, ки бисёр маълумот ба сервер фиристода мешавад. Бо вуҷуди ин, хавотир нашавед, зеро на ҳамааш талаб карда мешавад. Барои дидани маълумоте, ки ба шумо лозим аст, шумо метавонед консол кушоед ва дархостҳои гуногуни почтаро ба вебсайт иҷро кунед. Акнун, ки шумо медонед, ки саҳифа чӣ гуна кор мекунад ва занги AJAX-ро шифо бахшед, шумо метавонед скреператонро нависед.

Шояд шумо бипурсед, "чаро браузери худкорро истифода набаред?" Ҳалли оддӣ аст; ҳамеша кӯшиш кунед, ки зангҳои AJAX-ро қабл аз оғоз кардани ягон чизи вазнинтар ва мураккаб ба монанди браузери худкор дубора сайр кунед. Ин соддатар ва сабуктар аст.

png

mass gmail