美文网首页大数据 爬虫Python AI SqlPython,web开发,前端技术分享互联网科技
Python爬虫小偏方:修改referer绕开登录和访问频率限制

Python爬虫小偏方:修改referer绕开登录和访问频率限制

作者: 一墨编程学习 | 来源:发表于2019-05-07 18:08 被阅读4次

    看官们在写爬虫程序时应该都会遇到如下问题:

    • 你的爬虫程序开发时能正常抓取网页,但是正式大量抓取时,抓取的网站总是返回403或者500等;
    • 你抓取的网站需要登录,要花大量时间去研究网站登录流程。

    遇到问题1,我们的第一反应是达到对方访问频率限制,IP被对方屏蔽了,然后就找更多IP和降低访问频率。
    遇到问题2,就硬着头皮研究对方加密方法,或人肉登录后用机器把cookie保存下来,耗去好几天时间。

    Python学习交流群【 784758214 】内有安装包和学习视频资料,零基础,进阶,解答疑问。希望可以帮助你快速了解Python、学习python

    除了上述直接攻克的方法,还有一种取巧的方法可以绕过上述两个问题,就是修改http header中的referer来达到。注意这里是修改referer,不是修改user-agent。

    我在网络爬虫的原理和[爬虫分析利器:谷歌chrome浏览器中已经介绍过http header和怎么使用chrome浏览器查看header信息了,还不太了解的可以再去复习一下这部分知识,这里就只着简单科普一下referer是啥。

    referer是告诉目标服务器(访问的网站),你是从哪儿点击进入当前页面的。
    比如你在百度搜索某个网站,然后点击进入网站,这个时候通过抓包工具可以观察到,referer是类似如下样式:

    当你遇到上诉两个问题时,你可以尝试把referer改成上述截图里的,是从搜索引擎点击进入的,你会发现有的网站,不会屏蔽从搜索引擎来的IP或者给这些IP的访问频率放得较为宽松。 甚至有的网站内容本来是要登陆才能看见,但是你把referer改成是从百度来的,你会发现居然不用登录也能看见了。

    其实一句话就能说完,写了这么一大篇,额。。。

    这些网站为什么会厚此薄彼呢?

    是有些网站想获取SEO流量,就把从搜索引擎点击进入的访问控制放得较为宽松的原因。所以当你遇到如上两个问题时,先改一改referer试试,这样可以节省你不少的研究时间。这适用于有的爬虫是个临时任务或者一次性的爬虫,不用长期维护,你快速写好抓完数据就好的时候适用。 这个不是每个网站都有这样的待遇,在下遇到的有此情况的网站有某职业社交网站,某工商信息查询网站,某娱乐票务网站,就酱

    相关文章

      网友评论

        本文标题:Python爬虫小偏方:修改referer绕开登录和访问频率限制

        本文链接:https://www.haomeiwen.com/subject/xtyyoqtx.html