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

查看:2064
本文介绍了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%的时间都浪费在翻页上。

解决方案

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

  1. 打开浏览器调试模式

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

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

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

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

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

这篇关于python - 如何爬取URL不变的网站内容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆