RTBAsia真人概率值查询接口

功能区
 taochengwei   python  python   2016-11-01   百度主动推送失败
正文区

RTBAsia真人概率值说明:

  • 知识背景:互联网用户分为三个最大的“人群”:男,女,机器人;机器人会模仿人类的形态浏览网页、观赏视频、点击广告、撰写评论、投票点赞。机器人通常居住在“数据中心”。
  • 当IP场景为“数据中心”时,此IP发出的网页浏览行为大多数情况下属于NHT(Non Human Traffic,非人类的访问),可能是各种功能的机器人:搜索爬虫、内容采集器、舆情监控、网站性能监控、压力测试器、自动发帖机、安全检测软件等等,你懂的...
  • “真人概率”的数值在50%以上,可以被认定为此IP的网页访问量基本由人类主动行为产生,分值愈高越真实。低于50%则有较高可能性是此IP的行为是机器人主导。

RTBAsia官方网址:https://www.rtbasia.com/

RTBAsia测试网址:https://ip.rtbasia.com/

接口说明:

  • 操作接口是RTBAsia开放在百度APIStore的免费API,apikey缓存你在百度APIStore自己的key,要求安装requests库,命令是pip install requests。
  • 使用方法是,携带一个file参数,读取file内容,每一行一个IP。

# -*- coding: utf-8 -*-

import requests

apikey = 'Your Baidu Apistore apikey'
url = 'http://apis.baidu.com/rtbasia/non_human_traffic_screening_vp/nht_query'
V={}
headers={'apikey': apikey}

def GetValue(ip):
    global V
    r=requests.get(url, params={'ip': ip}, headers=headers).json()
    state = r.get('code')
    ip    = r.get('ip')
    score = int(r.get('data').get('score'))
    if score < 50: V[ip] = score
    return {'state':state, 'ip':ip, 'score': score}

if __name__ == '__main__':
    import sys
    try:
        ipfile=sys.argv[1]
    except IndexError:
        ipfile='test.txt'
    with open(ipfile, 'r') as f:
        ips=f.readlines()
    for ip in ips:
        print GetValue(ip.strip())
    print "真人概率值低语50%的有以下IP:\n", V

此脚本存放在GITHUB中,链接是:https://github.com/staugur/scripts/blob/master/services/RTBAsiaAPI.py