百度(Seo)快排之万能代理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 jsonpath res=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 requests import jsonpath import json response = requests.get("http://127.0.0.1:5010/get/") data = json.loads(response.text) ips = jsonpath.jsonpath(data, "$..proxy") #返回的是list if len(ips) >0 : print(ips[0])
至此这样的一个接口就写好了,下面是快排软件中的设置截图:
测试效果:
未完待续...
关注"何三笔记"回复 "快排工具" 获取下载
如果想获取源代码回复"快排源码"
茶叶中究竟有没有单宁?单宁又称为单宁酸鞣酸或鞣质,最早是人们从五倍子提取出的一种物质,能与蛋白质强力结合,常用来鞣制皮革,所以叫鞣质。单宁是一类结构复杂的酚类化合物,广泛存在于植物的树皮叶子和未成熟的果
体质畏寒怕冷市中医医院中医特色护理门诊教您改善艾灸三个暖身穴位1。大椎穴位于第七颈椎棘突下凹陷处,艾灸该穴位可增强阳气,驱散寒湿,提高机体免疫力。2。足三里足三里为养生保健第一要穴,艾灸该穴位有温中散寒,健运脾阳,补中益气的作
吃得多,还消瘦,竟然和早期糖尿病有关大家好,我是中医张玉琴,今天和大家说说早期糖尿病有哪些症状有些早期糖尿病患者无显著症状,有些患者可有乏力三多一少症状,即多尿多饮多食和体重减轻1。多饮由于血糖升高引起渗透性利尿导致
秋冬季前列腺的保养秘诀前列腺是男人们的风水宝地,也是多数男子多事的地方,前列腺疾病更是男性不可忽视的常见病。秋冬季,很多男性朋友减少外出活动和体育锻炼,长时间待在室内保持坐姿,或因未注重保暖,局部受凉,
出现ED问题,想靠吃来解决?恢复硬度,3步走才靠谱对于中国人,乃至中国男人来说,由于传统观念的影响,羞于谈性是大多数人的心理习惯。很多男性在遇到性功能障碍后,例如勃起功能障碍(ED),往往都想要通过一些手段来悄无声息地解决这一问题
最新!河北省疾控中心发布倡议书三减三健健康相伴河北省疾控中心开展2022年全民健康生活方式宣传月活动2022年9月1日是第16个全民健康生活方式日,今年宣传月的主题是三减三健健康相伴,旨在倡导每个人做自己健康第
伦敦时装周HoangDung带着十亿品牌走上街头,而ThaoNhi动感十足去英国参加伦敦时装周之际,HoangDung小姐身着十亿盾品牌走上街头。作为10年的品牌追随者,HoangDung将她品牌系列的一小部分带到伦敦,在她走在街上时进行日常更换。她背着
海洋界的玛丽莲梦露竟然是个街溜子?最爱在海底溜达前段时间,一个关于奇特的深海动物的话题登上了热搜。原来深海鱼类很多都仗着反正谁也看不见谁,就随便长长,比如看着有很多心事的管眼鱼少年老成,看着像个老头的水滴鱼可要我说,海洋里长得最
上班通勤大牌双肩背包合集,颜值出圈款双肩包实用又方便,容量大,大大满足日常出行所需,,通勤上学都适合,凹造型也不输其它包包!DIOR采用经典老花图案,真的很耐看,满足大容量的同时也不忘精致,上身后十分有辨识度特别吸睛
哪些食物适合秋冬进补可以做五香板栗板栗。板栗,相信是很多人都爱吃的,在秋天,身体比较虚弱的人,适合吃些板栗来调理身体。通常是买剥了壳的栗子,然后放点花椒大料来做五香板栗。失眠可以吃莲子莲子。秋天吃些莲
看一眼食物大脑就会发炎,太想吃时建议做8件事很多人为了让自己少吃点,会望梅止渴,其实,只看一眼食物,或闻一下气味,就会让大脑以为你要摄入糖分,促进胰岛素分泌。最近,来自瑞士的研究人员发现,这种由神经刺激引发的胰岛素分泌,是源