百度(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])
至此这样的一个接口就写好了,下面是快排软件中的设置截图:
测试效果:
未完待续...
关注"何三笔记"回复 "快排工具" 获取下载
如果想获取源代码回复"快排源码"
魅族宣布4月25日发布新一代音频产品纯净新声,还原精彩IT之家4月20日消息,今天,魅族旗下lifeme青年良品宣布将在4月25日发布新一代,新声代产品。官方打出的slogan是纯净新声,还原精彩还原纯净更真实。IT之家了解到,魅蓝已
精锋医疗递表港交所无任何收益,2021年亏损3。49亿多孔腔镜手术机器人是核心产品中华网财经4月20日讯中华网财经了解到,港交所文件显示,4月19日晚,深圳市精锋医疗科技股份有限公司(简称精锋医疗)提交上市申请资料,摩根士丹利中金公司花旗担任联席保荐人。成立于2
开辟水稻育种新途径中科院李家洋院士团队创制世界首例重新设计与快速驯化的四倍体水稻材料开辟水稻育种新途径(科技视点种业科技自立自强)今年5月,我们的水稻材料就要在北京实验田里试种了,未来有望推广到更多
Django知识梳理大全(三)1。模板层怎么继承?具体操作方法是什么?使用场景模板层的继承常常用于公共部分的样式的书写,比如一个网站的头部和关于我们都是一样的样式,那么我们为了使页面更加的简洁,因此需要用到模板
分享一个数据库学习的宝藏教程今天分享一个数据库学习的教程整理网站,其中包含常用的关系数据库非关系数据库及列式数据库等,对于初学者和想提升数据库能力的朋友,有很多帮助,教程内容很多,可以收藏网站之后再阅读。关系
华为消费者业务更名为终端业务,正式进军商用终端市场中国青年报客户端上海4月20日电(中青报中青网记者张均斌)今天,在华为终端商用办公新品发布会上,华为宣布全面进军商用领域。未来,华为终端业务将全面覆盖消费产品和商用产品两大模块,消
监控手机APP电量消耗的公司怕是留不住人来论近日,一张微信聊天截图引发网友热议。截图内容显示,下班之前,类似公司行政的人,在群里要求大家把手机电量应用消耗截图发给他。可能很多人不知道手机应用电量这个功能,它的用处就是,显
财华聚焦2022Q1盈喜不断,稀土永磁板块为何跌跌不休?近年来,随着全球各国环保政策持续推出及落地,新能源产业发展迎来了高速增长,新能源汽车稀土永磁电机风电机等细分赛道迎来前所未有的增量机遇。在此背景之下,作为新能源汽车风电家电消费电子
即时通讯IM系统开发我于2014年开启即时通讯的开发之路,历经从服务端到客户端,从第三方到自研,经历过诸多的研发难题,都一一破解。现将经验总结如下,希望对行业内从事IM开发的程序员有所帮助。一基础技术
linux之sshpass命令将文件连接并传输到远程系统是系统管理员一直在做的事情。SSH是Linux平台上许多系统管理员使用的基本工具。SSH支持两种身份验证形式1。密码认证2。公钥认证公钥认证被认为是这两种
全球农业科技引领农业发展新趋势作者丁立江(农业农村部管理干部学院助理研究员)全球农业受粮食安全气候变化新冠肺炎疫情逆全球化人口变化等诸多不确定性因素影响,各国力求以具体行动实践提升自身农业生产系统的抗风险能力及
华为手机音量键原来大有用途,别只用来调节音量了华为手机的音量键如果只用来调节音量就太浪费了,它可大有用途,且个个功能都非常实用,日常很多人都用得着,一起来看看。关闭手电筒晚上出行或是要照亮黑暗的角落找东西时,难免会用到手电筒功
没有平凡的收入互联网风口深度解析很多人搞互联网创业这个行业起初很野蛮的发展到现在不是那么简单的前些年是个风口互联网公司崛起枪战市场有了我们普通网民群众千姿百态赶上这个风口有点创意的人才都借助平台获点利是接了风口的
美媒Meta停止开发VRAR软件操作系统,布局元宇宙或受显著影响MarketWatch1月5日消息,据科技媒体TheInformation周三报道,知情人士称,Facebook母公司MetaPlatforms已停止开发新的VRAR软件操作系统,
元宇宙将对教育产生什么影响本报见习记者张欣2021年元宇宙一词频繁出现在大众视野,在不久前揭晓的汉语盘点2021中,元宇宙更是成为最热国际词。作为虚拟世界和现实世界融合载体的元宇宙,蕴含社交内容办公等场景变
工信部加快钢铁5G工业互联网等安全标准研制中新经纬1月6日电6日,据工信部消息,工信部网安局5日组织召开工业互联网企业网络安全分类分级管理试点工作电视电话总结会议。会议强调,要加快钢铁轻工5G工业互联网等重点行业场景安全标
最近入手的5个家用小电器,始于颜值,终于实力不管是选择家居用品还是日常的生活小电器,一直以来的原则一定是选择实用性第一,但是并不能将颜值全部抛弃,一个外观设计好看的产品,摆放在家里的话,心情也会变得更加愉悦。人,总是一种逐美
中美教育最大的差别是什么?美国属于阶层式教育。而中国属于工厂式教育。虽然说都不是最好的。但总体来说,美国教育要有那么一丢丢的强宇中国。(具体请想一想为什么中国人才往美国跑?)中国教育虽然实行了全民教育。但是
大有内涵的五英寸音箱惠威D200有源HiFi音箱不简单虽说现在真无线耳机已经成为了当代年轻人听歌的第一选择,但是国内依然有很多音频厂家在推出自己的音箱产品,在这些厂家之中惠威绝对是不可忽略的一员,说起惠威这个牌子,对国产音频厂家有所了
数码年度好物盘点2021平板篇请点击关注,获取更多数码资讯突如其来的疫情打乱了许多人的生活节奏,面对居家办公网课等需求,平板电脑的销量迎来了一次巨幅的增长。面对突然多出来的这份蛋糕,各家厂商可以说是争破了头。接
荣耀智慧屏X2实际体验如何?对比小米EA2022,结果显而易见时间果真如白驹过隙,不知觉间又是年关将至的日子,差不多到时候回家过年团圆了。要说以往过年那个瞬间最让我难以忘记,当属春晚之时,一大家子人喜气洋洋地坐在客厅里看电视了。而这几年看电视
一代经典,晓龙835处理器,成就钉子户小米6MiX我2017年9月12日买的手机,当时还开玩笑,笑称小米要带来手机行业的911了。说实话当初发布的Mix第一代确实惊艳到了我了,一直没钱买,后面买了第二代,当时在机友圈引起的轰动效应