当前位置: 移动技术网 > IT编程>脚本编程>Python > 反爬虫之搭建IP代理池

反爬虫之搭建IP代理池

2019年05月23日  | 移动技术网IT编程  | 我要评论

女教师狩り 小仓奈々,清明怎么放假,梦想的声音第九期

反爬虫之搭建ip代理池

听说你又被封 ip 了,你要学会伪装好自己,这次说说伪装你的头部。可惜加了header请求头,加了cookie 还是被限制爬取了。这时就得祭出ip代理池!!!
enter description here

下面就是requests使用ip代理例子

response = requests.get(url,proxies=proxies)

这样就可以使用你定义的代理地址去访问网站了

但ip代理哪里来阿?有两种方式

  1. 付费api接口(ip量多,稳定)
  2. 免费ip代理 (ip量少,不稳定,但免费呀,基础爬虫已够)

enter description here

这时我们可以搞个ip代理池,思路就是通过python爬取大量免费代理ip,然后进行存活验证,再提供接口使用。

其实这种事早就有人写了,github上有很多优秀的项目,这里分享两个。(问题是我不会写,python从入门到放弃)

  1. https://github.com/python3webspider/proxypool

这里我用第一个项目吧,毕竟star 6k多

这时先安装一下redis(步骤省略,记得勾上添加环境变量和放行防火墙)
enter description here

以上说明我们已经成功安装了redis

下面我们将redis安装成windows服务,自启动

进到redis目录下,然后执行redis-server --service-install redis.windows-service.conf
enter description here

注意:不要找错了 通常为redis.windows-service.conf 而不是redis.windows.conf 后者是以非系统服务方式启动程序使用的配置文件。

这时还得去看服务有没有开启
enter description here

修改数据库密码等配置项,一般测试环境都无需加密码,这里还是加一下吧

打开redis服务配置文件redis.windows-service.conf,找到含有requirepass字样的地方,追加一行,输入requirepass 12345 并保存!!!
enter description here

重启一下服务(刚才是开着的,现在先关后开)
enter description here

tips!!!
启动临时服务: redis-server.exe redis.windows.conf
客户端调用: redis-cli.exe -h 127.0.0.1 -p 6379
卸载服务: redis-server.exe --service-uninstall

打开redisclient 管理工具 点击 服务器 > 添加
enter description here

配置proxy_pool项目,首先在项目目录下安装依赖
enter description here

配置config/setting.py 其中如果有更改ip、端口、密码的在圈圈里面修改并保存!(代理池访问网址端口也可以在文件最底下改)
enter description here

上面配置启动后,默认代理池访问地址为

如果你的依赖已经安全完成并且具备运行条件,可以直接在run下运行main.py。

如果运行成功你应该看到有4个main.py进程,你也可以分别运行他们,依次到api下启动proxyapi.py,schedule下启动proxyrefreshschedule.py和proxyvalidschedule.py即可。

把项目跑起来!!!
enter description here

在redisclient 工具下查看数据
enter description here

api使用
enter description here

大致搭建过程就在这里啦,不过免费的ip代理还是差很多,生产环境需求最好还是花钱购买api接口,质量好!!!

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网