Google Trends爬虫
最近因科研原因,需要爬取google trends中有关Bitcoin的数据,于是开启了为期三天的艰难探索。过程虽然艰难,但结果是好的。下面将整个过程的收获记录如下。当然,这一切的前提是先连接上一台位于国外的远程服务器,所以假设看到这篇文章的小伙伴都已经连接上了远程服务器。
文章目录
- Google Trends爬虫
- 方案一:用本地计算机爬虫(fail)
- 方案二:用远程服务器爬虫(success)
- 下载python
- Google Trends爬虫
- 安装第三方包
- 编辑代码
- 将代码文件导入远程服务器
- 数据处理
Google Trends爬虫
方案一:用本地计算机爬虫(fail)
当电脑能够正常使用Google后,我首先想到的是像之前爬虫一样,在Pycharm中编辑代码,然后在本地计算机上运行。
但随后就出现了问题。不论是用Pycharm还是Jupyter Notebook,无论如何也无法请求获取Google Trends的页面,总是报错。找了很多帖子,都没有得到解决(如果看到这篇文章的小伙伴能够指导一下,将非常感谢)
一段时间尝试后,准备另辟蹊径。既然本地计算机上外网的原理是,让能够上外网的远程服务器获取资源,然后再传给本地计算机,我也能远程操控远程服务器,那为什么不直接在远程服务器上爬虫呢,然后就有了方案二。
方案二:用远程服务器爬虫(success)
下载python
CentOS系统是自带Python2的,但是由于现在普遍使用Python3,所以还得自主安装Python3。安装方法参考这篇博文。文章讲的很详细,这里就不再赘述。但是需要补充的一点是,最后在执行创建软链接命令之前,必须先进入根目录。使用“cd …”一直退一直退,直到根目录。然后再运行后面的命令。
进入python3之后,可以用"exit()"命令退出。
但安装好之后有个bug是,每次运行python代码会出现警告,提示缺少某个东西,但我一直安装不上,希望有大佬帮忙解答。
Google Trends爬虫
安装第三方包
Python有个第三方包pytrends,用这个包可以很容易获取Google Trends某个关键词下面的数据。pytrends的详细用法可以去官网查看。
首先安装pytrends。在根目录执行如下命令
pip3 install pytrends
编辑代码
我需要获取2013-2021期间Google Trends中有关Bitcoin的趋势数据。首先在本地计算机上编写好了googleTrends.py文件如下:
import pandas as pd
from pytrends.request import TrendReqdf = pd.DataFrame(columns = ['date','Bitcoin'])
search_list=['Bitcoin']
pytrends = TrendReq()for y in range(2013,2021):yn = str(y + 1)y=str(y)timeframe='{0}-01-01 {0}-06-30'.format(y) #以半年及以下为周期返回日数据,以上为周数据pytrends.build_payload(search_list, timeframe=timeframe)df = df.append((pytrends.interest_over_time()).drop(columns='isPartial'))timeframe = '{0}-06-30 {1}-01-01'.format(y,yn) pytrends.build_payload(search_list, timeframe=timeframe)df = df.append((pytrends.interest_over_time()).drop(columns='isPartial'))#2021
for m in range(1,3):timeframe='2020-12-30 2021-02-22'pytrends.build_payload(search_list, timeframe=timeframe)df = df.append((pytrends.interest_over_time()).drop(columns='isPartial'))df.to_excel('googleTrends.xls')
将代码文件导入远程服务器
这里建议使用Xshell作为SSH客户端,因为在Xshell中可以用rz 和 sz命令,轻松和本地计算机实现文件互传。
首先执行安装命令
yum install -y lrzsz
然后在命令行输入rz回车,会出现选择文件的窗口,选择之前编辑好的googleTrends.py文件后,这个文件就保存到远程服务器中了。
然后执行如下命令
python3 googleTrends.py
就成功在远程服务器上运行代码了。运行之后,执行如下命令查看googleTrends.xls的位置。
find / -name googleTrends.xls
会发现该文件在 /root/googleTrends.xls下
接着执行如下命令将文件复制到本地计算机。
sz /root/googleTrends.xls
一番操作之后,Google Trends的数据就保存到本地计算机啦!
数据处理
拿到数据之后并不能直接用。这里得先了解Google Trends数据的特点。
Google Trends的热度值在0-100之间,是一个相对值,和时间段的选择相关。对于同一个日期,比如2021.2.14这天,爬取2021.1.1-2021.2.20时间段和2020.10.14-2020.2.20时间段,得到的2021.2.14这一天的热度值是不同的。
所以,我在爬取数据的时候,在前后两个时间段之间设置了重复天数,比如2013.01.01-2013.06.01 和 2013.06.01-2014.01.01。
这样,就可以以某一时间段为基准,通过比例换算,将所有数据纳入一个标准了。
Google Trends爬虫相关推荐
- Google新动作频出 Google Trends发布
在solidot看到一篇文章说GOOgle Trends在10号发布了.这是Google推出的另一个分析工具,它能够告诉你某个特定关键词在Google被搜索的频率和相关统计数据.你可以同时比较最多5个 ...
- 谷歌趋势 Google Trends 实战使用技巧
谷歌趋势分析是每一个做谷歌SEO的人必备的工作技能,最简单有效的工具就是Google Trends,现在我们演示这款工具的实战使用技巧,本文章讲述从入门到实战的多个使用技巧. 什么是谷歌趋势Googl ...
- Python财务分析-Pandas复制Google Trends
复制利用谷歌趋势量化金融市场的交易行为 这是发表于<自然>的一篇论文: Quantifying Trading Behavior in Financial Markets Using Go ...
- Google发布Google Trends(谷歌趋势)中文版
2006年7月31日,北京,Google(谷歌)今天宣布,Google Trends(谷歌趋势)中文版正式上线.Google Trends(谷歌趋势)是今年5月Google推出的一款基于搜索日志分析的 ...
- cve 爬虫_好用的Google漏洞爬虫:Google Mass Explorer
*本文中涉及到的相关漏洞已报送厂商并得到修复,本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担. 这是一款基于谷歌搜索引擎的自动化爬虫. 爬虫介绍 爬虫大体机制就是:先进行一次谷歌 ...
- python抓取谷歌指数(Google Trends)
过去7天的数据链接:https://trends.google.com/trends/api/widgetdata/multiline?hl=zh-CN&tz=-480&req={&q ...
- Google的爬虫家族[Spider]
原文:http://hi.baidu.com/shichunqi/blog/item/65a8881334d81f04c83d6d42.html Google爬虫是连接互联网和你的查询需求之间的第一座 ...
- google学术爬虫
代码 from bs4 import BeautifulSoup #网页解析,获取数据 import re #正则表达式 import urllib.request,urllib.error #指定U ...
- 数学之美系列六 -- 图论和网络爬虫 (Web Crawlers)
数学之美系列六 -- 图论和网络爬虫 (Web Crawlers) [离散数学是当代数学的一个重要分支,也是计算机科学的数学基础.它包括数理逻辑.集合论.图论和近世代数四个分支.数理逻辑基于布尔运算, ...
最新文章
- Pandas基础复习-DataFrame
- 【模型开发】风控评分模型开发流程
- 通俗说基于Yarn的Map-Reduce过程
- ajaxfileupload上传显示图片_有了这个AI图片转换器,风景照片秒变二次元动画
- 【笔记】springboot+spring security登录流程实现
- 制作cab文件(Windows自带的makecab)
- python的networkx 算法_python图算法库Networkx笔记 - Node and Centrality
- 莫烦python学习笔记之全局,局部变量
- netperf-2.7.0 交叉编译
- 利用selenium webdriver下载不同类型的文件(pdf,txt等等)
- PyCharm 的调试功能
- javascript编码调试环境-ide和调试工具
- selenium使用代理IP
- 印度舞曲吉米来吧(中文版)铃声 印度舞曲吉米来吧(中文版)手机...
- WIN10更改不了锁屏壁纸
- 【如何学习CAN总线测试】——OSEK网络管理测试
- 什么是字长(百度百科)
- C 语言时间函数 秒 毫秒 微秒
- 【TensorFlow】使用AlexNet网络对图片进行识别分类
- Nvidia GTC China 19 keynote