在爬取网站的时候,
要多的站在对方的角度想问题,
这次教你怎么伪装自己的 ip 地址,
别让对方轻易的就把你给封掉。
对于 python 来说,
使用代理访问很简单,
就拿我们经常使用的 requests 库来说,
使用代理 ip 如下
proxie = {
'http' : 'http://xx.xxx.xxx.xxx:xxxx',
'http' : 'http://xxx.xx.xx.xxx:xxx',
....
} response = requests.get(url,proxies=proxies)这样就可以使用你定义的代理地址去访问网站了。
在网上有很多免费的代理,
随便搜就有一堆了,
不过你知道的,
免费的话很多人都去使用,
所以这些代理IP很不稳定。
如果你有钱的话,
市面上有人就专门提供代理IP的,
直接去买就行了。
可以搞一个IP代理池,
主要就是通过 python 程序去抓取网上大量免费的代理 ip ,
然后定时的去检测这些 ip 可不可以用,
那么下次你要使用代理 ip 的时候,
你只需要去自己的 ip 代理池里面拿就行了。
道理都懂,
但是不想自己弄一个代理池。
不瞒你说,
有一个不错的开源 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)
接着在你 clone 下来的文件目录中,
安装相关所需的 python 模块:
pip3 install -r requirements.txt接下来开启你的 redis:
redis 的默认端口就是 6379,
接着就可以运行 run.py 了:
代理池开始运行
* Running on http://0.0.0.0:5555/ (Press CTRL+C to quit)
开始抓取代理
获取器开始执行
Crawling http://www.66ip.cn/1.html
正在抓取 http://www.66ip.cn/1.html
抓取成功 http://www.66ip.cn/1.html 200
成功获取到代理 201.69.7.108:9000
成功获取到代理 111.67.97.58:36251
成功获取到代理 187.32.159.61:51936
成功获取到代理 60.13.42.154:9999
成功获取到代理 106.14.5.129:80
成功获取到代理 222.92.112.66:8080
成功获取到代理 125.26.99.84:60493
...如果你在运行的时候出现这个错误:
更新一下 redis 版本:
pip3 install redis==2.10.6 运行 run.py ,
这时候在你的 redis 中就有爬取到的代理 ip 了:
项目跑起来之后,
你就可以访问你的代理池了,
比如随机获取一个代理 ip 地址:
http://localhost:5555/random这样访问之后就会获取到一个代理 ip。
在代码中获取代理也不在话下啦:
这样,
我们就成功的在我们的代理池中获取代理 ip 了。
那么下次谁还敢封你ip,
你就拿出你的代理ip,
继续爬呗!
版权声明:我们致力于保护作者版权,注重分享,被刊用文章【免费代理ip网站(Python网络爬虫之IP代理池)】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!;
工作时间:8:00-18:00
客服电话
电子邮件
beimuxi@protonmail.com
扫码二维码
获取最新动态
