美文网首页
spider中的仿浏览器抓取(User-Agent)

spider中的仿浏览器抓取(User-Agent)

作者: JRlu | 来源:发表于2016-09-04 14:14 被阅读389次

      有些网站为了防止spider对客户信息的抓取或者抓取一些信息被他人所利用,对访问网站进行了一定的限制,但这些网页可以通过浏览器正常访问,因此,我们通过把spider伪装成浏览器对网页进行抓取,这些步骤通过在urlopen(url,headers)中添加headers来完成。

1.通过spider打开一个csdn博主的主页,会发现状态码返回403,这就说明这个博客网页加了限制。

    我们先通过Google的chrome浏览器打开这个csdn博客(http://blog.csdn.net/jizhen_tan/article/details/51661203),再通过F12打开抓包工具,找到network这一选项栏再刷新网页,就会发现这些东西:

     我们点开第一个Name51661203,会在headers中发现有三个元素:General、Response Headers、Requset Headers。我们要做的是模仿Requset Headers中的写法来把spider伪装成浏览器对网页进行访问。

2.这次用到的库为urllib2,它是urllib的扩展。

在headers中主要添加四个元素:User-Agent、Host、GET,这些都可以在Requset Headers中找到。headers是一个字典型。

3.一些网站会对User-Agent进行检测,如果一个时间段内过多的访问就会遭到封IP,因此我们可以通过随机变换User-Agent来进行访问:

这是搜索到的一些User-Agent:爬虫User-Agent收录

通过一个循环来实现:

相关文章

网友评论

      本文标题:spider中的仿浏览器抓取(User-Agent)

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