SEO技术

专注SEO排名技术研发,联系我们获得技术支持!

百度(Seo)快排之万能代理IP接口设计

2023-06-04  浏览:0

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

  1、使用动态拨号VPS

  2、代理IP池

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

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

  1、芝麻HTTP

  接口文档:

  2、品易HTTP

  接口文档:

  3、华益云

  接口文档:

  4、站大爷

  接口文档:

  5、proxyPool

  接口文档:

  上述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-1012: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":,"expire_time":"2019-05-2408:58:31","city":"徐州市","isp":"电信"},{"ip":"58.218.201.108",//隧道ip(代理ip)"port":2690,//代理端口"expire_time":"2019-05-2408:55:31","city":"苏州市","isp":"电信","outip":"219.136.47.161",//隧道ip的出口ip}]}

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

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

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

  使用方法如:

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

  安装方法:

  pipinstalljsonpath

  官方文档:

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

  /

  $

  跟节点

  .

  @

  现行节点

  /

  .or[]

  取子节点

  ..

  n/a

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

  *

  *

  匹配所有元素节点

  []

  []

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

  |

  [,]

  支持迭代器中做多选

  []

  ?()

  支持过滤操作

  n/a

  ()

  支持表达式计算

  ()

  n/a

  分组,JsonPath不支持

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

  5、提取proxypool接口中的代理

  proxypool接口:

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

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

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

  importrequestsimportjsonpathimportjsonresponse=requests.get('')data=json.loads(response.text)ips=jsonpath.jsonpath(data,'$..proxy')#返回的是listiflen(ips)>0:print(ips[0])

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

  测试效果:

  未完待续...

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

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

声明:免责声明:本文内容来源于互联网,本网站不拥有所有权,也不承认相关法律责任。
  • 1865692

    累积优化关键词

  • 93%

    +

    首页上词率高达90%+

  • 183W

    +

    183W+独家IP资源

  • 3000

    +

    与3000余家企业客户携手

提供保姆式的SEO优化排名服务,独家研发排名技术,源头技术厂家,快速上首页,帮您获取更多客户资源!

联系我们

TG : @pagoda1993

公司:

九狐科技技术有限公司

地址:江西省南昌市南昌县小蓝国家经济技术开发区汇仁大道266号