Python3网络爬虫开发实践读书笔记 --- 第九章 代理的使用

这一系列文章是我在阅读“Python3网络爬虫开发实践”一书以及其他线上资料学习爬虫过程中的一些笔记和心得,希望能分享给大家。

章节概述:如何通过代理绕开服务器的反爬虫措施

章节结构

  • 代理的设置
  • 代理池维护
  • 付费代理
  • ADSL拨号代理

具体内容:

  • 代理的设置

首先在网上购买代理,安装以后代理软件会在某个端口P创建HTTP代理服务。
在我我们用urllib爬取数据的时候,创建ProxyHandler,设定http和https的代理地址(刚刚的端口),然后在创建opener的时候传入这个ProxyHandler对象。如果代理需要用户名密码,我们可以设置为username:[email protected]:P,如果是Socks5类型代理,可以用python的socks模块创建socks对象,并且通过set_default_proxy设置代理。
如果我们用request模块,直接传入字典类型的参数proxies即可。
如果是在模拟浏览器时加入代理,可以通过webdriver.ChromeOptions对象的add_argument方法添加--proxy-server参数。然后将chrome_options作为参数传入模拟浏览器对象中。

  • 代理池维护

代理池:通过提前选取筛选可用代理,存储成一个代理池以备后去爬取数据时随时有代理支持。
代理池基本模块:
存储模块:存储抓取的代理,保证不重复,均可用 ---- Redis,SortedSet
获取模块:在各大网站抓取代理,并将可用的代理保存到存储模块中
检测模块:定期检测代理可用性。
接口模块:对外接口,以便爬虫程序从代理池中随机获取代理。

  • 付费代理

讯代理:www.xdaili.cn
阿布云代理:www.abuyun.com

具体代码实现:https://github.com/Python3Web...

你可能感兴趣的:(python,网页爬虫,读书笔记)