大数据 爬虫Python AI SqlPython小哥哥python

就算你被封了也能继续爬,使用IP代理池伪装你的IP地址

2019-03-22  本文已影响0人  14e61d025165

让自己的 python 爬虫假装是浏览器

小帅b主要是想让你知道

在爬取网站的时候

要多的站在对方的角度想问题

image

其实

欢迎大家加入小编创建的Python行业交流群,有大牛答疑,有资源共享,有企业招人!是一个非常不错的交流基地!群号:683380553

这和泡妞差不多

你要多站在妹纸的角度思考

她的兴趣是什么

她喜欢什么

而不是自己感动自己

单方面的疯狂索取

image

哦..

扯远了

我们回到反爬虫

这次教你怎么伪装自己的 ip 地址

别让对方轻易的就把你给封掉

如何伪装呢

那么

接下来就是

学习 python 的正确姿势

image

其实

对于 python 来说

使用代理访问很简单

就拿我们经常使用的 requests 库来说

使用代理 ip 如下

定义代理IP

proxie = { 

使用代理

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

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

我知道你要问了

代理地址哪里来

image

在网上有很多免费的代理

随便搜就有一堆了

不过你知道的

免费的话很多人都去使用

所以这些代理IP很不稳定

如果你有钱的话

市面上有人就专门提供代理IP的

直接去买就行了

image

不想花钱呢?

可以搞一个IP代理池

主要就是通过 python 程序去抓取网上大量免费的代理 ip

然后定时的去检测这些 ip 可不可以用

那么下次你要使用代理 ip 的时候

你只需要去自己的 ip 代理池里面拿就行了

image

道理都懂

但是不想自己弄一个代理池

有没有现成的?

不瞒你说

小帅b发现了一个不错的开源 ip 代理池

https://github.com/Python3WebSpider/ProxyPool.git

如何使用呢

首先使用 git clone 将源代码拉到你本地

git clone https://github.com/Python3WebSpider/ProxyPool.git

接着打开项目中的 setting.py

在这里可以配置相关信息

比如 Redis 的地址密码相关

(如果你之前没有使用过 redis 的话,可以到如下地址下载 https://github.com/MicrosoftArchive/redis/releases

image

接着在你 clone 下来的文件目录中

安装相关所需的 python 模块

pip3 install -r requirements.txt

接下来开启你的 redis

image

redis 的默认端口就是 6379

接着就可以运行 run.py 了

代理池开始运行

如果你在运行的时候出现这个错误

AttributeError: 'int' object has no attribute 'items'

更新一下 redis 版本

pip3 install redis==2.10.6 

运行 run.py

这时候在你的 redis 中就有爬取到的代理 ip 了

image

项目跑起来之后

你就可以访问你的代理池了

比如随机获取一个代理 ip 地址

http://localhost:5555/random

这样访问之后就会获取到一个代理 ip

在代码中获取代理也不在话下啦

import requests

这样

我们就成功的在我们的代理池中获取代理 ip 了

那么下次谁还敢封你ip

你就拿出你的代理ip

继续爬呗

peace

image
上一篇下一篇

猜你喜欢

热点阅读