Semalt сарапшысы Python көмегімен AJAX веб-сайтын қалай скраптау керектігін түсіндіреді

Веб-қию - бұл веб-парақтан мәліметтерді алу үшін бағдарламалық жасақтаманы қолдануды қажет ететін әдіс. Интернетті питонмен қиюға арналған көптеген құралдар бар, олардың кейбіреулері; Аспан, сынық, сұраныс және әдемі сорпа. Алайда, бұл құралдардың көпшілігі тек JavaScript-тен туындайтын динамикалық бөлігін емес, тек серверден келетін тұрақты HTML-ды ғана алатындығымен шектеледі.

Алайда, бұл мәселені шешудің бірнеше әдістері бар:

1. Автоматтандырылған шолғыштар

Сіз Selenium немесе Splash сияқты автоматтандырылған браузерлерді пайдалана аласыз, олар бассыз жұмыс істейді. Алайда, оларды орнату өте күрделі болуы мүмкін, сондықтан біз төмендегі екінші нұсқаға тоқталамыз.

2. AJAX қоңырауларын ұстап алу

Бұл AJAX қоңырауларын парақтан ұстап алуға және оларды қайталауға немесе көбейтуге тырысуды қамтиды.

Бұл мақалада біз сұраныстар кітапханасы мен Google Chrome браузерін қолдана отырып, AJAX қоңырауларын қалай ұстап, оларды қайтадан толтыруға болатынын қарастырамыз. Скрапи сияқты құрылым сізді қырқуға қатысты тиімді шешім қабылдауға мүмкіндік берсе де, бұл барлық жағдайларда қажет емес. AJAX қоңыраулары көбінесе JSON нысанын қайтаратын API-ге қарсы орындалады, оны сұраныс кітапханасы оңай басқарады.

Сіз білуіңіз керек бірінші нәрсе - AJAX қоңырауын қайта ойнату құжатсыз API қолдану сияқты. Сондықтан сіз қоңыраулардың барлық парақтарын қарауыңыз керек. Сіз сайтқа кіріп, онымен біраз уақыт ойнап, кейбір ақпараттың қалай көрсетілетінін көре аласыз. Ойын аяқталғаннан кейін, оралып, тырнауды бастаңыз.

Егжей-тегжейлермен таныспас бұрын, алдымен парақтың қалай жұмыс істейтінін түсінейік. Егер сіз дүкендер бетіне күй бойынша кірсеңіз, кез келген күйді таңдаңыз, сонда бет дүкен туралы ақпарат береді. Сіз күйді таңдаған сайын, веб-сайт ескі дүкендердің орнына жаңа дүкендер ұсынады. Бұған қол жеткізу арқылы қол жеткізіледі және AJAX серверден ақпаратты сұрайды. Енді біздің мақсатымыз - қоңырауды ұстап, оны қайтадан тыңдау.

Мұны істеу үшін сізге Chrome DevTools браузерін ашып, XHR бөліміне өтіңіз. XHR - бұл HTTP және HTTPS сұрауларын орындайтын интерфейс. Осылайша, AJAX сұраулары осында көрсетіледі. AJAX қоңырауын екі рет нұқығанда, дүкендерден көптеген ақпаратты таба аласыз. Сондай-ақ, сұрауларды алдын ала қарауға болады.

Сіз көптеген мәліметтер серверге жіберілетінін байқайсыз. Алайда уайымдамаңыз, өйткені мұның бәрі қажет емес. Сізге қандай деректер қажет екенін көру үшін сіз консоль ашып, веб-сайтқа түрлі сұраныстар жасай аласыз. Енді сіз парақтың қалай жұмыс істейтінін біліп, AJAX қоңырауды шешіп алғаннан кейін, қырғышты жаза аласыз.

Сіз «неге автоматтандырылған шолғышты пайдаланбасқа?» Деп сұрайтын шығарсыз. Шешімі қарапайым; автоматтандырылған браузер сияқты әлдеқайда ауыр және күрделі нәрсеге кіріспес бұрын әрдайым AJAX қоңырауларын қайталауға тырысыңыз. Бұл қарапайым және жеңіл.

png

mass gmail