<a href="javascript:__doPostBack('AspNetPager1','3')" class="Pager" title="转到第3页" style="margin-right:5px;">[3]</a>
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
对于这种翻页方式,怎么用爬虫爬取呢?网站翻页后URL没有发生改变。我之前使用bs4和selenium模拟翻页操作再爬取,可是数据量太大,这种方法速度太慢。80%的时间都浪费在翻页上。
高洛峰2017-04-18 10:15:25
這個問題得具體到網址分析,不同網址會有不同的處理方式。
現在假設在比較常見的情況下,可以用這種方法:
開啟瀏覽器偵錯模式
點擊下一頁,查看對應的網路請求的Response,這個回應通常就是下一頁的URL
查看該請求的請求頭和請求參數,分析找出規律
使用python模擬HTTP請求來批量獲得URL
爬取訊息,推薦LXML進行HTML解析
至於如何模擬HTTP請求,可參考 python模擬HTTP請求