百度指数(Baidu Index)是以百度海量网民行为数据为基础的数据分析平台,是当前互联网乃至整个数据时代最重要的统计分析平台之一,自发布之日便成为众多企业营销决策的重要依据。
简单的deom,
Python关键词百度指数采集,
抓包Cookie及json数据处理,
需要注意协议头的添加,
尤其是cookies!
几个关键点:
1.抓包处理
2.Cookie使用添加
3.json数据处理转换
批量采集关键词百度指数 ,需要cookie池!
百度账号cookie为 “BDUSS=xxx”
百度指数是百度大数据的一种统计方式,它把每天在百度的关键词搜索量以数据的方式呈现,让你更好的知道每个关键词的搜索量。
百度指数有什么用?
1:查询关键词热度
百度指数可直观的看到每个关键词的热度,指数越高,代表这个词的商业价值越高。
2:查询趋势
当你把指数的时间放大了来看的话,会发现,这个关键词的一个整体的趋势,是上升,还是下降?有助于你对未来的商业决策的一个判断。
3:查询相关词
点击需求图谱,可查看搜索关键词的人都在查看什么,通过分析,你就可以知道大家都在搜些什么内容。
4:查看人群画像
点击人群画像,你就可以看到搜索关键词的人的人群画像了,分为地域、年龄分布、性别分布。
协议头抓包:
效果:
附完整源码参考:
#关键词百度指数采集 #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需要自行重新添加!
百度指数采集需要登录百度账号!