<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%的时间都浪费在翻页上。
这个问题得具体到网址去分析,不同网址会有不同的处理方式。
现在假设在比较常见的情况下,可以用这种方法:
打开浏览器调试模式
点击下一页,查看对应的网络请求的Response,这个响应通常就是下一页的URL
查看该请求的请求头和请求参数,分析找出规律
使用python模拟HTTP请求来批量获得URL
爬取信息,推荐LXML进行HTML解析
至于如何模拟HTTP请求,可参考 python模拟HTTP请求
估计是有 AJAX 请求吧,直接抓请求得了