python - 如何爬取URL不变的网站内容
伊谢尔伦
伊谢尔伦 2017-04-18 10:13:25
0
2
1700
<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%的时间都浪费在翻页上。

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

Antworte allen(2)
小葫芦

这个问题得具体到网址去分析,不同网址会有不同的处理方式。
现在假设在比较常见的情况下,可以用这种方法:

  1. 打开浏览器调试模式

  2. 点击下一页,查看对应的网络请求的Response,这个响应通常就是下一页的URL

  3. 查看该请求的请求头和请求参数,分析找出规律

  4. 使用python模拟HTTP请求来批量获得URL

  5. 爬取信息,推荐LXML进行HTML解析

至于如何模拟HTTP请求,可参考 python模拟HTTP请求

Peter_Zhu

估计是有 AJAX 请求吧,直接抓请求得了

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage