反爬虫与反反爬虫

作者: sergiojune | 来源:发表于2018-02-09 20:55 被阅读478次

喜欢爬虫的伙伴都知道,在爬网站的内容的时候并不是一爬就可以了,有时候就会遇到一些网站的反爬虫,折回让你爬不到数据,给你返回一些404,403或者500的状态码,这有时候会让人苦不堪言,就如我昨天发的爬网易云音乐评论,在你爬的数据较多时,网站认为你是一个机器,就不让你爬了,网易云就给我返回了一个{"code":-460,"msg":"Cheating"},你不看下他的返回内容还不知道自己被反爬虫,不过不用担心,既然网页有反爬虫,可我们也有反反爬虫,今天就给大家说说反爬虫与反反爬虫。

1).网页的反爬虫

1.通过网页的请求头

首先我们先看看网易云音乐评论的请求头

请求头

User-Agent:这个是保存用户访问该网站的浏览器的信息,我上面这个表示的是我通过window的浏览器来访问这个网站的,如果你是用python来直接请求这个网站的时候,这个的信息会带有python的字眼,所以网站管理员可以通过这个来进行反爬虫。

Referer:当浏览器发送请求时,一般都会带上这个,这个可以让网站管理者知道我是通过哪个链接访问到这个网站的,上面就说明我是从网易云音乐的主页来访问到这个页面的,若你是用python来直接请求是,就没有访问来源,那么管理者就轻而易举地判断你是机器在操作。

authorization:有的网站还会有这个请求头,这个是在用户在访问该网站的时候就会分配一个id给用户,然后在后台验证该id有没有访问权限从而来进行发爬虫。

2.用户访问网站的ip

当你这个ip在不断地访问一个网站来获取数据时,网页后台也会判断你是一个机器。就比如我昨天爬的网易云音乐评论,我刚开始爬的一首《海阔天空》时,因为评论较少,所以我容易就得到所有数据,但是当我选择爬一首较多评论的《等你下课》时,在我爬到800多页的时候我就爬不了,这是因为你这个ip的用户在不断地访问这个网站,他已经把你视为机器,所以就爬不了,暂时把你的ip给封了。

2).我们的反反爬虫

1.添加请求头

既然在请求网页的时候需要请求头,那么我们只需要在post或者get的时候把我们的请求头加上就可以了,怎样加?可以使用requests库来添加,在post,get或者其他方法是加上headers参数就可以了,而请求头不需要复制所有的信息,只需要上面的三个之中一个就可以,至于哪个自己判断,或者直接添加所有也可以,这样我们就可以继续爬了。

2.使用代理ip

若是网站把你的ip给封了,你添加什么的请求头也都没有用了,那我们就只有等他解封我们才可以继续爬吗?我可以十分自信告诉你:不需要,我们可以使用代理ip来继续爬,我们可以爬取网络上的免费ip来爬,至于免费的代理ip质量怎样你们应该知道,有必要可以买些不免费的,这样好点,我们平时的练习用免费的代理ip就可以了,可以自己爬取一些免费代理ip建成ip池,然后爬的时候就把ip随机取出来,我偷偷告诉你:小编明天的文章就是教你怎样搭建自己的代理ip池。

END

结束语:上面的只是个人在爬一些网站时候遇到的一些反爬虫,这只是很简单的,还有那些动态网站的反爬虫自己还没有接触,等到以后接触了,再一 一补充。最后给大家在爬虫上的建议,就是爬取速度不要太快,最好每几个就隔几秒,不要给服务器造成太大的压力,也可以在爬虫的时候选择一些访问量少点的时间段,这是对服务器好,也是对你自己好!

日常学python

相关文章

  • 爬虫入门基础

    Day01 一、爬虫介绍 什么是爬虫 Python爬虫的优势 Python爬虫需要掌握什么 爬虫与反爬虫与反反爬虫...

  • 01-认识爬虫

    一、爬虫介绍 什么是爬虫 Python爬虫的优势 Python爬虫需要掌握什么 爬虫与反爬虫与反反爬虫三角之争 网...

  • 反爬虫与反反爬虫

    喜欢爬虫的伙伴都知道,在爬网站的内容的时候并不是一爬就可以了,有时候就会遇到一些网站的反爬虫,折回让你爬不到数据,...

  • 反爬虫与反反爬虫

    1.反爬虫技术 首先我们来思考一下,为什么要反爬虫? 网络中充斥大量爬虫的情况下,会使得整个网络的数据不可靠。 网...

  • 反反爬虫之js加密参数获取

    反爬虫与反反爬虫从爬虫诞生开始就已经存在,反爬策略层出不穷,反反爬也都应对有招。 就我目前碰到的反爬,从简单的us...

  • CNN大战验证码

    介绍   爬虫江湖,风云再起。自从有了爬虫,也就有了反爬虫;自从有了反爬虫,也就有了反反爬虫。  反爬虫界的一大利...

  • 爬虫理解版本3

    1 爬虫高级 1.1 动态HTML处理和机器图像识别 爬虫(Spider),反爬虫(Anti-Spider),反反...

  • 反虫与反爬虫二三事

    爬虫,反爬虫,反反爬虫……魔高一尺,道高一丈。无穷无尽的进化抗争史。 入门级反爬虫:验证一下Headers里面的一...

  • 爬虫(二)

    了解爬虫的人,都听过,爬虫技术,反爬虫技术,反反爬虫技术。而在这个里面,httpx协议就占据了很大一部分。 Acc...

  • 爬虫不尽兴?那再来点反爬虫吧!

    爬虫与反爬虫,这相爱相杀的一对,在现在你会爬虫是不够的,你还得会反爬虫。 为 Python 平反 首先是爬虫,爬虫...

网友评论

    本文标题:反爬虫与反反爬虫

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