Python关键词百度指数采集,抓包Cookie及json数据处理

百度指数(Baidu Index)是以百度海量网民行为数据为基础的数据分析平台,是当前互联网乃至整个数据时代最重要的统计分析平台之一,自发布之日便成为众多企业营销决策的重要依据。

pic_001.jpg

简单的deom,

Python关键词百度指数采集,

抓包Cookie及json数据处理,

需要注意协议头的添加,

尤其是cookies!


几个关键点:

1.抓包处理

2.Cookie使用添加

3.json数据处理转换

批量采集关键词百度指数 ,需要cookie池!

百度账号cookie为 “BDUSS=xxx”

百度指数是百度大数据的一种统计方式,它把每天在百度的关键词搜索量以数据的方式呈现,让你更好的知道每个关键词的搜索量。


百度指数有什么用?

1:查询关键词热度

百度指数可直观的看到每个关键词的热度,指数越高,代表这个词的商业价值越高。

2:查询趋势

当你把指数的时间放大了来看的话,会发现,这个关键词的一个整体的趋势,是上升,还是下降?有助于你对未来的商业决策的一个判断。

3:查询相关词

点击需求图谱,可查看搜索关键词的人都在查看什么,通过分析,你就可以知道大家都在搜些什么内容。

4:查看人群画像

点击人群画像,你就可以看到搜索关键词的人的人群画像了,分为地域、年龄分布、性别分布。


协议头抓包:

pic_002.jpg

效果:


附完整源码参考:

#关键词百度指数采集
#20191119 by 微信:huguo00289
# -*- coding: UTF-8 -*-

import requests,json,time

def get_index(keyword,cook):
    headers={
        'Accept': 'application/json, text/plain, */*',
        'Accept-Encoding': 'gzip, deflate',
        'Accept-Language': 'zh-CN,zh;q=0.9',
        'Connection': 'keep-alive',
         'Cookie': cook,
        'Host': 'index.baidu.com',
        'Referer': 'http://index.baidu.com/v2/main/index.html',
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36',
        'X-Requested-With': 'XMLHttpRequest',
    }

    #keyword="seo"
    url=f'http://index.baidu.com/api/SearchApi/index?word={keyword}&area=0&days=30'
    response=requests.get(url,headers=headers).text
    time.sleep(2)
    #req=requests.get(url,headers=headers).json() #转换为json
    req=json.loads(response) #转换为json
    print(req)
    print(req['data']['generalRatio'][0])
    for k,v in req['data']['generalRatio'][0].items():
        print(k,v)

    data=req['data']['generalRatio'][0]
    all_avg=data['all']['avg']  #百度指数
    pc_avg=data['pc']['avg']  #百度pc端指数
    wise_avg=data['wise']['avg']  #百度移动端指数
    print(f'百度指数:{all_avg}')
    print(f'百度pc端指数:{pc_avg}')
    print(f'百度移动端指数:{wise_avg}')


if __name__ == '__main__':
    keyword=input('请输入要查询百度指数的关键词:')
    cook =input('请添加百度账号的cookies:')
    get_index(keyword, cook)


注意,协议头headers需要自行重新添加!

百度指数采集需要登录百度账号!