百度搜索指数的数据获取和excel导出

主要参考这个包
https://github.com/longxiaofei/spider-BaiduIndex/tree/old_baiduindex

python代码如下

from baidux import BaiduIndex
import pandas as pd

cookies = """在这里输入cookies"""

keywords = [['菅田将晖'],['有村架纯']]


# TODO update tests
baidu_index = BaiduIndex(
    keywords=keywords,
    start_date='2013-06-08',
    end_date='2013-06-10',
    cookies=cookies,
)
data=pd.DataFrame([])
for index in baidu_index.get_index():
    df=pd.DataFrame(data=index)
    data=data.append(df)
data.to_excel('F:\\Desktop\\test.xlsx')

最后的成果:
百度搜索指数的数据获取和excel导出_第1张图片

几个注意点:

  1. 中文乱码问题:
    在settings.json中加入
"code-runner.executorMap": {
     
	"python":"set PYTHONIOENCODING=utf8 && python"
	}
  1. 搜索的关键词:以abcd为例,如果是ad在同一个框框,则输出ad的搜索量之和。ad在分别的框框,则分别输出ad的搜索量。小BUG:和搜索时,最多3个元素,如果更多元素,取前三个元素之和。
  2. 最后的结果解释:all pc wise分别代表所有搜索量,pc端搜索量,和移动端搜索量。
  3. 提前安装 baidux 包: 命令行 pip install baidux
  4. 怎么找百度网站的cookies
    以百度指数网站为例,输入张艺兴搜索,进入以下网站
    https://zhishu.baidu.com/v2/main/index.html#/trend/%E5%BC%A0%E8%89%BA%E5%85%B4?words=%E5%BC%A0%E8%89%BA%E5%85%B4
    点击f12
    进入network
    百度搜索指数的数据获取和excel导出_第2张图片
    在Request Headers找到里面的Cookies
    复制cookies到代码中即可

在R中将长数据转化为宽数据
使用reshape2::dcast函数,将keyword中的几个词以列的形式呈现。
注意,首先需要将日期转化为正确的日期形式,并设置type=all.

baiduindex=dcast(baiduindex,date~keyword,value.var='index')

你可能感兴趣的:(百度搜索指数的数据获取和excel导出)