博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python反爬虫之搭建IP代理池
阅读量:2071 次
发布时间:2019-04-29

本文共 1362 字,大约阅读时间需要 4 分钟。

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

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

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

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

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

付费API接口(IP量多,稳定)

免费IP代理 (IP量少,不稳定,但免费呀,基础爬虫已够)

遇到python不懂的问题,可以加Python学习交流群:1004391443一起学习交流,群文件还有零基础入门的学习资料

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

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

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

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

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

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

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

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

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

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

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

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

Tips!!!

启动临时服务: redis-server.exe redis.windows.conf

客户端调用: redis-cli.exe -h 127.0.0.1 -p 6379

卸载服务: redis-server.exe --service-uninstall

打开RedisClient 管理工具 点击 服务器 > 添加

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

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

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

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

如果运行成功你应该看到有4个main.py进程,你也可以分别运行他们,依次到Api下启动ProxyApi.py,Schedule下启动ProxyRefreshSchedule.py和ProxyValidSchedule.py即可。

把项目跑起来!!!

在RedisClient 工具下查看数据

API使用

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

转载地址:http://xmnmf.baihongyu.com/

你可能感兴趣的文章
在eclipse中创建和myeclipse一样的包结构
查看>>
Java中的IO流
查看>>
java中的关键字
查看>>
如果某个方法是静态的,它的行为就不具有多态性
查看>>
优化Hibernate所鼓励的7大措施
查看>>
Java 8系列之重新认识HashMap
查看>>
HashMap 、 ArrayList、String 重写了equals方法 而Object类(比如User)没有重写
查看>>
Servlet的生命周期
查看>>
Object中的getClass()返回的是当前运行的类
查看>>
加载驱动程序的方法
查看>>
深入理解java异常处理机制
查看>>
object类的基本方法
查看>>
回答阿里社招面试如何准备,顺便谈谈对于Java程序猿学习当中各个阶段的建议
查看>>
Dubbo分布式服务框架入门(附工程)
查看>>
两年Java开发工作经验面试总结
查看>>
作为Java面试官--谈谈一年来的面试总结
查看>>
两年Java程序员面试经
查看>>
面试心得与总结---BAT、网易、蘑菇街
查看>>
如何面试有2年java工作经验的应聘人员
查看>>
Java实现简单的递归操作
查看>>