Експерт за Semalt објаснува како да изгребате веб-страница AJAX користејќи Пајтон

Веб-стружење е метод што користи употреба на софтвер за вадење податоци од веб-страница. Постојат многу алатки што можат да се користат за стружење на мрежата со питон, од кои некои се; Небото, гребење, барања и убава супа. Сепак, повеќето од овие алатки се ограничени со фактот дека тие само добиваат статички HTML што доаѓа од серверот, а не од динамичниот дел изнесен од JavaScript.

Сепак, постојат неколку техники со кои овој проблем може да се надмине:

1. Автоматски прелистувачи

Можете да користите автоматски прелистувачи, како што се Селен или Поздрав, кои се целосни прелистувачи кои работат без глава. Сепак, поставувањето на нив може да биде доста комплексно, и затоа ќе се фокусираме на втората опција подолу.

2. Следете ги повиците на AJAX

Ова вклучува обид за пресретнување на повиците на AJAX од страницата и обидување да ги репродуцирате или репродуцирате.

Во овој напис, ние ќе се фокусираме како да фатиме AJAX повици и да ги репродуцираме со употреба на Библиотеката Барања и прелистувач на Google Chrome. Иако, рамки како Scrapy може да ви обезбедат поефикасно решение кога станува збор за стружење, не е потребно за сите случаи. AJAX повиците најчесто се изведуваат против АПИ што ќе врати JSON предмет со кој лесно може да се справи библиотеката Requests.

Првото нешто што треба да го знаете е дека обидот за репродукција на повик AJAX е како да користите не-документиран API. Затоа, треба да ги погледнете сите повици што ги прават страниците. Можете да отидете на страницата, да играте со тоа некое време и да видите како се даваат некои информации. Откако ќе завршите со играње, вратете се и започнете со стружење.

Пред да ги разгледаме деталите, прво да разбереме како работи страницата. Ако посетите страница од продавници по држава, изберете која било држава, а страницата ќе дава информации за продавницата. Секој пат кога ќе изберете држава, веб-страницата дава нови продавници за да ги замените старите. Ова се постигнува со користење, и AJAX повик до сервер кој ги бара информациите. Нашата намера сега е да го фатиме тој повик и да го повториме.

За да го сторите тоа, сè што треба да сторите е да го отворите прелистувачот Chrome, DevTools, утешен и да отидете во подсекторот XHR. XHR е интерфејс што извршува HTTP и HTTPS барања. Така, барањата на AJAX ќе бидат прикажани овде. Кога кликнете двапати на повикот AJAX, ќе најдете многу информации за продавниците. Можете исто така да ги прегледувате барањата.

Noteе забележите дека многу податоци се испраќаат до серверот. Сепак, не грижете се бидејќи не е потребно сето тоа. За да видите какви податоци ви се потребни, можете да отворите конзола и да извршите разни барања за објавување на веб-страницата. Сега кога знаете како работи страницата и го дешифриравте повикот AJAX, можете да ја напишете вашата стругалка.

Можеби прашувате: 'зошто да не користите автоматски прелистувач?' Решението е едноставно; секогаш обидувајте се да ги репродуцирате повиците на AJAX пред да започнете нешто многу потешко и комплицирано, како што е автоматски прелистувач. Поедноставно е и полесно.

пнг

mass gmail