
获取爬虫所需要的代理IP对某个网站进行高频次采集时经常会遇到IP被封的情况,这时候需要使用代理IP了。建立一个数据库,提供稳定可用的代理IP给爬虫使用,也是主要任务之一。
主要功能:
从代理网站获取代理IP进行检测是否可用,方法是访问一稳定的网站,例如某度,腾某等,查看状态码。
写入数据库
清洗数据库,剔除不可用的IP
获取一条可用的代理
数据库只需要一个表
CREATE TABLE IF NOT EXISTS IPPORT (IP_PORT TEXT NOT NULL PRIMARY KEY);
逻辑图:
使用:
查看demo.py文件
Util.Refresh():数据库和新的数据需要主动调用此函数更新,建议最少十五分钟更新一次
Util.Get():调用可获取一条可用的代理,Util.Get()返回的代理:
{‘http’: ‘http://192.159.152.91:62‘, ‘https’: ‘https://115.159.152.91:58′}
requests可以直接使用:requests.get(url,proxies=Util.Get(),headers={})
Config.py 部分:
如果你还有代理网站可以添加,请添加在Url_Regular字典中。
代理IP网址和对应的正则式,正则式一定要IP和Port分开获取,例如[(192.168.1.1, 85), (192.168.1.1, 95),]
只抓取首页,想要抓取首页以后页面的可以将链接和正则式贴上来,例如,将某网站的1、2、……页的链接和
对应的正则式分别添加到Url_Regular字典中。
添加正则式之前请先在 站长工具-正则表达式在线测试 测试通过后添加。
点击携趣www.xiequ.cn或添加客服,更多资讯一手掌握。