代理ip下载(百度)

 2025-08-21 22:48:01  阅读 698  评论 0

摘要:我们在《python脚本百度(SEO)快排--模拟点击最新核心源码》中提到对快排影响的重要因素之一就是IP,如何使用多IP执行快排脚本有两种方法:1、使用动态拨号VPS 2、代理IP池今天我们主要来说下如何设计一个万能的代理IP池接口?我们随便找几家做代理IP池的厂家,看看他们都是什

我们在《python脚本百度(SEO)快排--模拟点击最新核心源码》中提到对快排影响的重要因素之一就是IP,如何使用多IP执行快排脚本有两种方法:

1、使用动态拨号VPS

2、代理IP池

今天我们主要来说下如何设计一个万能的代理IP池接口?

我们随便找几家做代理IP池的厂家,看看他们都是什么样的接口?

1、芝麻HTTP

接口文档:https://zhimahttp.com/getapi/

2、品易HTTP

接口文档:http://pc.py.cn/api/

3、华益云

接口文档:http://www.9vps.com/show.asp?id=8

4、站大爷

接口文档:https://www.zdaye.com/doc/api/ShortProxy/

5、proxyPool

接口文档:https://github.com/jhao104/proxy_pool/

上述5个平台代理ip池都有各自的对接接口,而且他们的接口都不一样,有的是通过GET方式获取的,有的是通过POST方式获取的,获取的结果也不相同,有的可以直接返回代理ip如:114.55.53.151:3128 这样的格式是我们需要,有的接口返回的是json格式如:

{  "anonymous": "",   "check_count": 2,   "fail_count": 0,   "https": false,   "last_status": true,   "last_time": "2021-12-10 12:15:59",   "proxy": "8.218.161.168:1080",   "region": "",   "source": "freeProxy05"}

如上这种json格式就需要从中提取代理ip与端口

返回结果格式上看可以把他们分为两类:

一类是直接返回代理ip 另一类直接返回json格式数据

对于第一种直接返回代理ip的我们不需要处理直接哪来使用就可以

对于返回json格式数据我们需要从中提取代理ip与端口,但不同厂家返回的json数据格式是不统一的,比如:

{          "code":0,          "success":true,          "msg":"0",          "data":[              {                  "ip":"49.68.68.197",                  "port":33220,                  "expire_time":"2019-05-24 08:58:31",                  "city":"徐州市",                  "isp":"电信"              },              {                  "ip":"58.218.201.108", //隧道ip (代理ip)                  "port":2690,           // 代理端口                  "expire_time":"2019-05-24 08:55:31",                  "city":"苏州市",                  "isp":"电信",                  "outip":"219.136.47.161",  // 隧道ip的出口ip              }          ]       }

那么如何解决做一个配置,能兼容所有的代理ip池呢?

在python中可以使用jsonpath库,jsonpath提取json格式的数据非常方便

1. jsonpath介绍

用来解析多层嵌套的json数据;JsonPath 是一种信息抽取类库,是从JSON文档中抽取指定信息的工具,提供多种语言实现版本,包括:Javascript, Python, PHP 和 Java。

使用方法如:

import jsonpathres=jsonpath.jsonpath(dic_name,'$..key_name')#嵌套n层也能取到所有key_name信息,其中:“$”表示最外层的{},“..”表示模糊匹配,当传入不存在的key_name时,程序会返回false

2. JsonPath 对于 JSON 来说,相当于 XPath 对于 XML

安装方法:

pip install jsonpath

官方文档:http://goessner.net/articles/JsonPath

3. JsonPath与XPath语法对比:

Json结构清晰,可读性高,复杂度低,非常容易匹配,下表中对应了XPath的用法。

/

$

跟节点

.

@

现行节点

/

. or []

取子节点

..

n/a

就是不管位置,选择所有符合条件的条件

*

*

匹配所有元素节点

[]

[]

迭代器标示(可以在里面做简单的迭代操作,如数组下标,根据内容选值等)

|

[,]

支持迭代器中做多选

[]

?()

支持过滤操作

n/a

()

支持表达式计算

()

n/a

分组,JsonPath不支持

4. 使用实例

    d={            "error_code": 0,            "stu_info": [                    {                            "id": 2059,                            "name": "小白",                            "sex": "男",                            "age": 28,                            "addr": "河南省济源市北海大道32号",                            "grade": "天蝎座",                            "phone": "18378309272",                            "gold": 10896,                            "info":{                                "card":434345432,                                "bank_name":'中国银行'                            }                    },                    {                            "id": 2067,                            "name": "小黑",                            "sex": "男",                            "age": 28,                            "addr": "河南省济源市北海大道32号",                            "grade": "天蝎座",                            "phone": "12345678915",                            "gold": 100                    }            ]    }    res= d["stu_info"][1]['name'] #取某个学生姓名的原始方法:通过查找字典中的key以及list方法中的下标索引    print(res) #输出结果是:小黑    import jsonpath    res1=jsonpath.jsonpath(d,'$..name') #嵌套n层也能取到所有学生姓名信息,$表示最外层的{},..表示模糊匹配    print(res1) #输出结果是list:['小白', '小黑']    res2= jsonpath.jsonpath(d,'$..bank_name')    print(res2) #输出结果是list:['中国银行']    res3=jsonpath.jsonpath(d,'$..name123') #当传入不存在的key(name)时,返回False    print(res3) #输出结果是:False

5、提取proxypool接口中的代理

proxypool接口:http://127.0.0.1:5010/get/

通过GET方式请求,返回数据如下:

{  "anonymous": "",   "check_count": 1,   "fail_count": 0,   "https": false,   "last_status": true,   "last_time": "2021-12-10 14:19:22",   "proxy": "112.14.47.6:52024",   "region": "",   "source": "freeProxy05/freeProxy04"}

从这样的接口中获取代理ip的方式如下:

import requestsimport jsonpathimport jsonresponse = requests.get('http://127.0.0.1:5010/get/')data = json.loads(response.text)ips = jsonpath.jsonpath(data, '$..proxy') #返回的是listif len(ips) >0 :    print(ips[0])

至此这样的一个接口就写好了,下面是快排软件中的设置截图:

测试效果:

未完待续...

关注“何三笔记”回复 “快排工具” 获取下载

如果想获取源代码回复“快排源码”

版权声明:我们致力于保护作者版权,注重分享,被刊用文章【代理ip下载(百度)】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!;

原文链接:https://www.yxiso.com/zhishi/2096305.html

标签:代理ip下载

发表评论:

关于我们
院校搜的目标不仅是为用户提供数据和信息,更是成为每一位学子梦想实现的桥梁。我们相信,通过准确的信息与专业的指导,每一位学子都能找到属于自己的教育之路,迈向成功的未来。助力每一个梦想,实现更美好的未来!
联系方式
电话:
地址:广东省中山市
Email:beimuxi@protonmail.com

Copyright © 2022 院校搜 Inc. 保留所有权利。 Powered by BEIMUCMS 3.0.3

页面耗时0.0370秒, 内存占用1.93 MB, 访问数据库23次

陕ICP备14005772号-15