首页  >  问答  >  正文

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

伊谢尔伦伊谢尔伦2740 天前1585

全部回复(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
  • 取消回复