视频制作网站都有哪些,怎么样做问卷网站,服装网站建设目标客户,怎么查网站的关键词付费代理的使用
相对免费代理来说#xff0c;付费代理的稳定性更高。本节将介绍爬虫付费代理的相关使用过程。
1. 付费代理分类
付费代理分为两类#xff1a; 一类提供接口获取海量代理#xff0c;按天或者按量收费#xff0c;如讯代理。 一类搭建了代理隧道#xff0…付费代理的使用
相对免费代理来说付费代理的稳定性更高。本节将介绍爬虫付费代理的相关使用过程。
1. 付费代理分类
付费代理分为两类 一类提供接口获取海量代理按天或者按量收费如讯代理。 一类搭建了代理隧道直接设置固定域名代理如阿布云代理。
本节分别以两家代表性的代理网站为例讲解这两类代理的使用方法。
2. 讯代理
讯代理的代理效率较高官网为 http://www.xdaili.cn/如图。 讯代理上可供选购的代理有多种类别包括如下几种参考官网介绍。 优质代理 适合对代理 IP 需求量非常大但能接受代理有效时长较短10~30 分钟)小部分不稳定的客户 独享动态 适合对代理 IP 稳定性要求非常高且可以自主控制的客户支持地区筛选。 独享秒切 适合对代理 IP 稳定性要求非常高且可以自主控制的客户快速获取 IP地区随机分配 动态混拨 适合对代理 IP 需求量大代理 IP 使用时效短3 分钟切换快的客户 优质定制 如果优质代理的套餐不能满足您的需求请使用定制服务
一般选择第一类别优质代理即可这种代理的量比较大但是其稳定性不高一些代理不可用。所以这种代理的使用就需要借助于上一节所说的代理池自己再做一次筛选以确保代理可用。
读者可以购买一天时长来试试效果。购买之后讯代理会提供一个 API 来提取代理。 比如在这里我的提取 API 为http://www.xdaili.cn/ipagent/greatRecharge/getGreatIp?spiderIdda289b78fec24f19b392e04106253f2aordernoYZ20177140586mTTnd7returnType2count20可能已过期在此仅做演示。
在这里指定了提取数量为 20提取格式为 JSON直接访问链接即可提取代理。 接下来我们要做的就是解析这个 JSON然后将其放入代理池中。
如果信赖讯代理的话我们也可以不做代理池筛选直接使用代理。不过我个人还是推荐使用代理池筛选以提高代理可用概率。
根据上一节代理池的写法我们只需要在 Crawler 中再加入一个 crawl 开头的方法即可。方法实现如下所示
def crawl_xdaili(self):获取讯代理:return: 代理url http://www.xdaili.cn/ipagent/greatRecharge/getGreatIp?spiderIdda289b78fec24f19b392e04106253f2aordernoYZ20177140586mTTnd7returnType2count20html get_page(url)if html:result json.loads(html)proxies result.get(RESULT)for proxy in proxies:yield proxy.get(ip) : proxy.get(port)
这样我们就在代理池中接入了讯代理。获取讯代理的结果之后解析 JSON返回代理即可。
代理池运行之后就会抓取和检测该接口返回的代理如果代理可用那么分数就会被设为 100通过代理池接口即可获取到这些可用代理。
3. 阿布云代理
阿布云代理提供了代理隧道代理速度快且非常稳定其官网为 阿布云 - 为大数据赋能 。 阿布云代理主要分为两种专业版和动态版另外还有定制版参考官网介绍。 专业版多个请求锁定一个代理 IP海量 IP 资源池需求近 300 个区域全覆盖代理 IP 可连续使用 1 分钟适用于请求 IP 连续型业务 动态版每个请求一个随机代理 IP海量 IP 资源池需求近 300 个区域全覆盖适用于爬虫类业务 定制版灵活按照需求定制定制 IP 区域定制 IP 使用时长定制 IP 每秒请求数
关于专业版和动态版的更多介绍可以查看官网动态版HTTP隧道服务说明 | 阿布云 - 为大数据赋能。
对于爬虫来说我们推荐使用动态版购买之后可以在后台看到代理隧道的用户名和密码。 整个代理的连接域名为 proxy.abuyun.com端口为 9020它们均是固定的但是每次使用之后 IP 都会更改该过程其实就是利用了代理隧道实现参考官网介绍。
其官网原理介绍如下 云代理通过代理隧道的形式提供高匿名代理服务支持 HTTP/HTTPS 协议。 云代理在云端维护一个全局 IP 池供代理隧道使用池中的 IP 会不间断更新以保证同一时刻 IP 池中有几十到几百个可用代理 IP。 需要注意的是代理 IP 池中有部分 IP 可能会在当天重复出现多次。 动态版 HTTP 代理隧道会为每个请求从 IP 池中挑选一个随机代理 IP。 无须切换代理 IP每一个请求一个随机代理 IP。 HTTP 代理隧道有并发请求限制默认每秒只允许 5 个请求。如果需要更多请求数请额外购买。
注意默认套餐的并发请求是 5 个。如果需要更多请求数则须另外购买。
使用教程的官网链接为HTTP隧道动态版Python 接入指南| 阿布云 - 为大数据赋能。教程提供了 requests、urllib、Scrapy 的接入方式。
现在我们以 requests 为例接入代码如下所示
import requests
url http://httpbin.org/get
# 代理服务器
proxy_host proxy.abuyun.com
proxy_port 9020
# 代理隧道验证信息
proxy_user H01234567890123D
proxy_pass 0123456789012345
proxy_meta http://%(user) s:%(pass) s%(host) s:%(port) s % {host: proxy_host,port: proxy_port,user: proxy_user,pass: proxy_pass,
}
proxies {http: proxy_meta,https: proxy_meta,
}
response requests.get(url, proxiesproxies)
print(response.status_code)
print(response.text)
在这里其实就是使用了代理认证在前面我们也提到过类似的设置方法运行结果如下
200
{args: {}, headers: {Accept: */*, Accept-Encoding: gzip, deflate, Connection: close, Host: httpbin.org, User-Agent: python-requests/2.18.1}, origin: 60.207.237.111, url: http://httpbin.org/get
}
输出结果的 origin 即为代理 IP 的实际地址。这段代码可以多次运行测试我们发现每次请求 origin 都会在变化这就是动态版代理的效果。
这种效果其实跟之前的代理池的随机代理效果类似都是随机取出了一个当前可用代理。但是与维护代理池相比此服务的配置简单使用更加方便更省时省力。在价格可以接受的情况下个人推荐此种代理。
4. 结语
以上内容便是付费代理的相关使用方法付费代理稳定性比免费代理更高。读者可以自行选购合适的代理。
最后如果本文对您有帮助可以给我点一个赞支持一下
同时如果你喜欢本系列爬虫文章可以点个关注跟着我一起学习更多爬虫知识。