美文网首页
代理IP或者分布式爬虫:

代理IP或者分布式爬虫:

作者: bb2eef9c6b14 | 来源:发表于2017-06-17 20:29 被阅读113次

    代理IP或者分布式爬虫:

    如果对页的爬虫的效率有要求,那就不能通过设定访问时间间隔的方法来绕过频率检查了。

    代理IP访问可以解决这个问题。如果用100个代理IP访问100个页面,可以给网站造成一种有100个人,每个人访问了1页的错觉。这样自然而然就不会限制你的访问了。

    代理IP经常会出现不稳定的情况。你随便搜一个“免费代理”,会出现很多网站,每个网站也会给你很多的代理IP,但实际上,真正可用的代理IP并不多。你需要维护一个可用的代理IP池,但是一个免费的代理IP,也许在你测试的时候是可以使用的,但是几分钟以后就失效了。使用免费代理IP是已经费时费力,而且很考验你运气的事情。

    大家可以使用http://icanhazip.com/这个网站来检测你的代理IP是否设定成功。当你直接使用浏览器访问这个网站的时候,它会返回你的IP地址。如下图所示:

    通过requests,我们可以设置代理访问网站,在requests的get方法中,有一个proxies参数,它接收的数据是一个字典,在这个字典中我们可以设置代理。

    importrequestsproxies = {"http":"http://10.10.1.10:3128",#HTTP类型的代理"https":"http://10.10.1.10:1080"}#HTTPS类型的代理requests.get("http://example.org", proxies=proxies)

    大家可以在requests的官方中文文档中看到关于设置代理的更多信息:http://docs.python-requests.org/zh_CN/latest/user/advanced.html#proxies

    我在网上找了一些代理IP,如下图所示:

    以上代理在我写这篇文档的时候经过测试是可以使用的,但是各位同学在看这篇文档的时候,他们可能已经失效了。

    我选择第一个HTTP类型的代理来给大家做测试,运行效果如下图所示:

    从上图可以看出,我们成功通过了代理IP来访问网站。

    我们还可以使用分布式爬虫。分布式爬虫会部署在多台服务器上,每个服务器上的爬虫统一从一个地方拿网址。这样平均下来每个服务器访问网站的频率也就降低了。由于服务器是掌握在我们手上的,因此实现的爬虫会更加的稳定和高效。这也是我们这个课程最后要实现的目标。

    相关文章

      网友评论

          本文标题:代理IP或者分布式爬虫:

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