相对免费代理来说,付费代理的稳定性相对更高一点,本节介绍一下爬虫付费代理的相关使用过程。

1. 付费代理分类

在这里将付费代理分为两类:

提供接口获取海量代理,按天或者按量付费,如讯代理

搭建了代理隧道,直接设置固定域名代理,如阿布云

本节讲解一下这两种代理的使用方法,分别以两家代表性的代理网站为例进行讲解。

2. 讯代理

讯代理个人使用过代理有效率还是蛮高的,此处非广告,其官网为:http://www.xdaili.cn/,如图 9-5 所示:

图 9-5 讯代理官网 有多种类别的代理可供选购,摘抄其官网的各类别代理介绍如下:

优质代理: 适合对代理IP需求量非常大,但能接受代理有效时长较短(10~30分钟),小部分不稳定的客户

独享动态: 适合对代理IP稳定性要求非常高,且可以自主控制的客户,支持地区筛选。

独享秒切: 适合对代理IP稳定性要求非常高,且可以自主控制的客户,快速获取IP,地区随机分配

动态混拨: 适合对代理IP需求量大,代理IP使用时效短(3分钟),切换快的客户

优质定制: 如果优质代理的套餐不能满足您的需求,请使用定制服务

一般选择第一类别优质代理即可,代理量比较大,但是代理的稳定性没那么高,有一些代理也是不可用的,所以这种代理的使用方式就需要借助于上一节所说的代理池,我们自己再做一次筛选,确保代理可用。 可以购买一天的试一下效果,购买之后会提供一个 API 来提取代理,如图 9-6 所示:

图 9-6 提取页面 比如在这里我的提取 API 为:http://www.xdaili.cn/ipagent/greatRecharge/getGreatIp?spiderId=da289b78fec24f19b392e04106253f2a&orderno=YZ20177140586mTTnd7&returnType=2&count=20,可能已过期,在此仅做演示。 在这里指定了提取数量为 20,提取格式为 Json,直接访问链接即可提取代理,结果如图 9-7 所示:

图 9-7 提取结果 接下来我们要做的就是解析这个 Json,然后将其放入我们的代理池中。 当然如果信赖讯代理的话也可以不做代理池筛选,直接使用,不过我个人还是推荐再使用代理池筛选一遍,提高可用几率。 根据上一节代理池的写法,我们只需要在 Crawler 中再加入一个 crawl 开头的方法即可。 方法实现如下:

1

2

3

4

5

6

7

8

9

10

11

12

def crawl_xdaili(self):

"""

获取讯代理

:return: 代理

"""

url = 'http://www.xdaili.cn/ipagent/greatRecharge/getGreatIp?spiderId=da289b78fec24f19b392e04106253f2a&orderno=YZ20177140586mTTnd7&returnType=2&count=20'

html = get_page(url)

if html:

result = json.loads(html)

proxies = result.get('RESULT')

forproxyin proxies:

yield proxy.get('ip') + ':' + proxy.get('port')

这样我们就在代理池中接入了讯代理,获取讯代理的结果之后,解析 Json,返回代理即可。 这样代理池运行之后就会抓取和检测该接口返回的代理了,如果可用,那么就会被设为 100,通过代理池接口即可获取到。 以上以讯代理为例说明了此种批量提取代理的使用方法。

3. 阿布云代理

阿布云代理提供了代理隧道,代理速度快而且非常稳定,此处依然非广告,其官网为:https://www.abuyun.com/,如图 9-8 所示:

图 9-8 阿布云官网 阿布云的代理主要分为两种,专业版和动态版,另外还有定制版,摘抄官网的介绍如下:

专业版,多个请求锁定一个代理 IP,海量 IP 资源池需求,近 300 个区域全覆盖,代理 IP 可连续使用1分钟,适用于请求 IP 连续型业务

动态版,每个请求一个随机代理 IP,海量 IP 资源池需求,近 300 个区域全覆盖,适用于爬虫类业务

定制版,灵活按照需求定制,定制 IP 区域,定制 IP 使用时长,定制 IP 每秒请求数

关于专业版和动态版的更多介绍可以查看官网:https://www.abuyun.com/http-proxy/dyn-intro.html。 对于爬虫来说,推荐使用动态版,购买之后可以在后台看到代理隧道的用户名和密码,如图 9-9 所示:

图 9-9 阿布云代理后台 可以发现整个代理的连接域名为 proxy.abuyun.com,端口为 9020,均是固定的,但是使用之后每次的 IP 都会更改,这其实就是利用了代理隧道实现。 其官网原理介绍如下:

云代理通过代理隧道的形式提供高匿名代理服务,支持 HTTP/HTTPS 协议。

云代理在云端维护一个全局 IP 池供代理隧道使用,池中的 IP 会不间断更新,以保证同一时刻 IP 池中有几十到几百个可用代理IP。

需要注意的是代理IP池中有部分 IP 可能会在当天重复出现多次。

动态版HTTP代理隧道会为每个请求从 IP 池中挑选一个随机代理 IP。

无须切换代理 IP,每一个请求一个随机代理IP。

HTTP代理隧道有并发请求限制,默认每秒只允许 5 个请求。如果需要更多请求数,请额外购买。

注意默认套餐的并发请求是 5 个,如果需要更多需要另外购买。 使用的教程在官网也有,链接为:https://www.abuyun.com/http-proxy/dyn-manual-python.html,提供了 Requests、Urllib、Scrapy 的接入方式。 以 Requests 为例,接入示例如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

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, proxies=proxies)

print(response.status_code)

print(response.text)

在这里其实就是使用了代理认证,在前面我们也提到过类似的设置方法,运行结果如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

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. 结语

以上便是付费代理的相关使用方法,稳定性相比免费代理更高,可以自行选购合适的代理。

python接入讯代理_[Python3网络爬虫开发实战] 9.3-付费讯代理、阿布云代理的使用...相关推荐

  1. 我的新书《Python3网络爬虫开发实战(第二版)》获得 Python 之父的推荐了!

    这是「进击的Coder」的第 492 篇分享 作者:崔庆才 别急,这书现在还没上市哈,但很快了! 最近朋友们一直在催:你的第二版爬虫书怎么还不出来啊,我都等了好几年了!你不是前几个月就完稿了吗?咋这么 ...

  2. python3网络爬虫代码_《Python3网络爬虫开发实战代码》

    <Python3网络爬虫开发实战代码>\appium\.git\COMMIT_EDITMSG, 7 , 2017-08-15 <Python3网络爬虫开发实战代码>\appiu ...

  3. 《Python3网络爬虫开发实战》第二波抽奖赠书活动来了!

    嗨~ 给大家重磅推荐一本书!上市两月就已经重印 4 次的 Python 爬虫书!它就是由静觅博客博主崔庆才所作的<Python3网络爬虫开发实战>!!!同时文末还有抽奖赠书活动,不容错过! ...

  4. 《Python3网络爬虫开发实战》抽奖赠书活动

    这本书之前在公众号推荐过,这次庆才找到我想再帮忙宣传一下,如果你的爬虫还是徘徊在入门与放弃路上,这本书能给你一条指引. 上市两月就已经重印 4 次的 Python 爬虫书!它就是由静觅博客博主崔庆才所 ...

  5. 《Python3网络爬虫开发实战(第二版)》内容介绍

    这是「进击的Coder」的第 505 篇分享 作者:崔庆才 大家好,本节首先来预告下即将出版的<Python3网络爬虫开发实战(第二版)>的主要内容. 由于我已经把书的总体的内容介绍写在了 ...

  6. [Python3网络爬虫开发实战] 7-动态渲染页面爬取-4-使用Selenium爬取淘宝商品

    在前一章中,我们已经成功尝试分析Ajax来抓取相关数据,但是并不是所有页面都可以通过分析Ajax来完成抓取.比如,淘宝,它的整个页面数据确实也是通过Ajax获取的,但是这些Ajax接口参数比较复杂,可 ...

  7. 《Python3网络爬虫开发实战(第二版)》上市了!!!!

    " 阅读本文大概需要 5 分钟. " 告诉大家一个好消息:我的好朋友崔庆才老师的<Python3网络爬虫开发实战(第二版)>现在正式上市了!!!! 没错,就是这本: 就 ...

  8. 【Python3网络爬虫开发实战】 1.7-App爬取相关库的安装

    [摘要] 除了Web网页,爬虫也可以抓取App的数据.App中的页面要加载出来,首先需要获取数据,而这些数据一般是通过请求服务器的接口来获取的.由于App没有浏览器这种可以比较直观地看到后台请求的工具 ...

  9. 《崔庆才Python3网络爬虫开发实战教程》学习笔记(3):抓取猫眼电影榜单TOP100电影,并存入Excel表格

    本篇博文是自己在学习崔庆才的<Python3网络爬虫开发实战教程>的学习笔记系列,如果你也要这套视频教程的话,关注我公众号[小众技术],关注后回复[PYTHON],无套路免费送你一个学习大 ...

  10. 《崔庆才Python3网络爬虫开发实战教程》学习笔记(5):将爬虫爬取到的数据存储到TXT,Word,Excel,Json等文件中

    本篇博文是自己在学习崔庆才的<Python3网络爬虫开发实战教程>的学习笔记系列,此套教程共5章,加起来共有34节课,内容非常详细丰富!如果你也要这套视频教程的话,关注我公众号[小众技术] ...

最新文章

  1. Spring mvc3的ajax
  2. python打开excel的函数-Python读取excel文件中带公式的值的实现
  3. 中秋我用CSS写了个嫦娥奔月
  4. 解决卸载时残留目标文件夹的问题
  5. [翻译] 初看 ASP.NET Core 3.0 即将到来的变化
  6. Java8新特性解析
  7. 蓝桥杯JAVA省赛2013-----B------3(振兴中华)
  8. mysql分区表mycat_MySQL 中间件之Mycat垂直分表配置
  9. [转]Postgres-XL 10r1英文文档
  10. 基于HMM的连续小词量语音识别 - 模拟技术 - 电子发烧友网
  11. Pycharm取消双击shift出现搜索框
  12. 大龄女程序员年薪45万,杭州两套房,相亲失败后在客厅痛哭!
  13. 本地iis部署之后网页无法打开
  14. android渠道 积分墙,安卓推广:既然能在应用商店做CPD,为什么还一定要做积分墙?...
  15. 图像算法学习 - 计算图像均方差(MES),峰值信噪比(PSNR)
  16. 简单的音频播放功能MediaPlayer使用中所遇到的坑。
  17. ubuntu-16.04.6安装教程
  18. android webview白屏,处理方案:webview 闪白屏问题
  19. No fallbackFactory instance of type class com.ruoyi.system.api.factory.RemoteLogFallbackFactory foun
  20. 网管必看的好东东(十)

热门文章

  1. html5教程_最好HTML和HTML5教程
  2. matlab 不见了,matlab命令窗口不见了
  3. 后端学习 Java笔记(附源码)
  4. 怎么清理计算机磁盘空间,怎样清理电脑磁盘空间
  5. 第一行输入一个正整数N,随后的N行各输入一个人的姓名和年龄,中间用空格分隔(形如 “Tom 18“),将字符串转为形如 {“name“:“Tom“,“age“:18} 的字典,按顺序加入到列表中,得到
  6. 基于Vue的移动端图片裁剪组件 vue-clip(完美兼容ios与安卓)
  7. delete语句详解
  8. html5表单提交触发js,JS表单提交中onsubmit事件return的作用
  9. K3CLOUD成本管理参数解释
  10. 保险行业数据分析——用户画像 精准营销