Python爬虫使用动态代理

在 Python 爬虫时,在一段时间内请求数量过多,有时由于防爬机制,可能会出现不能继续爬取的问题。解决问题的方法可以是加长请求的间隔,或者从根本上使用动态 IP ,即将大量请求分散到大量的 IP 地址上来请求,从而使防爬机制不会注意。

一个比较好用的高匿名 IP 的网站:http://www.xicidaili.com/nn/
普遍的认识是这样的:
透明代理,即服务器知道请求方的代理 IP 和真实 IP
匿名代理,服务器知道使用了代理,但不知道真实的 IP
高匿代理,服务器不知道使用了代理,也就不会知道真实的 IP

其实使用高匿代理也只是增加了查询的难度,并不是查不到真实 IP 的。
对于爬虫的话,利用大量的高匿 IP ,并且加大请求间隔,是可以不被防爬机制注意的。

我们可以通过简单的代码来取到这个网站的所有 IP 地址来方便使用:

import requests
import random
import re

url = 'http://www.xicidaili.com/nn/'
html = requests.get(url=url, headers=headers).text
regip = r'<td>(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})</td>\s*?<td>(\d*)</td>'
matcher = re.compile(regip)
ipstr = re.findall(matcher,
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值