搜尋

首頁  >  問答  >  主體

python - 如何爬取URL不变的网站内容

<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%的时间都浪费在翻页上。

伊谢尔伦伊谢尔伦2803 天前1703

全部回覆(2)我來回復

  • 高洛峰

    高洛峰2017-04-18 10:15:25

    這個問題得具體到網址分析,不同網址會有不同的處理方式。
    現在假設在比較常見的情況下,可以用這種方法:

    1. 開啟瀏覽器偵錯模式

    2. 點擊下一頁,查看對應的網路請求的Response,這個回應通常就是下一頁的URL

    3. 查看該請求的請求頭和請求參數,分析找出規律

    4. 使用python模擬HTTP請求來批量獲得URL

    5. 爬取訊息,推薦LXML進行HTML解析

    至於如何模擬HTTP請求,可參考 python模擬HTTP請求

    回覆
    0
  • 天蓬老师

    天蓬老师2017-04-18 10:15:25

    估計是有 AJAX 請求吧,直接抓請求得了

    回覆
    0
  • 取消回覆