在传染病研究领域,社交媒体数据已被证明可作为预测感冒和流感季节的发作和进展的指标。在本文中,我们将使用Google Trends API来衡量与冠状病毒的状态。我们将使用python谷歌趋势API pytrends在州一级分析google搜索“冠状病毒”。

安装依赖

要安装pytrends,请打开命令行并输入:

pip install pytrends

对于我们这里,如果需要代理的话需要在安装requests的依赖

pip install requests[socks]

编写代码

然后打开你喜欢的编辑器(我用PyCharm社区版)

from pytrends.request import TrendReq

接下来,我们指定主机语言,时区和有效负载。 我们将主机语言指定为英语(“ en-US”),时区指定为“中央标准时区”,即“ 360”,并且可以将google属性过滤器(gprop)保留为空字符串。 我们还设置了category = 0,它对应于与关键字相关的所有类别。让我们获取2020年2月至2020年3月在纽约的“冠状病毒”数据:

pytrends = TrendReq(hl='en-US', tz=360)
pytrends.build_payload(['Coronavirus'], cat=0, timeframe='2020-02-01 2020-03-10', gprop='', geo='US-NY')

然后,我们定义一个dataframe为生成的pytrends对象,并打印前五行:

df = pytrends.interest_over_time()
print(df.head())


我们还可以使用seaborn和matplotlib绘制“冠状病毒”搜索的时间序列:

import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pdsns.set()
df['timestamp'] = pd.to_datetime(df.index)
sns.lineplot(df['timestamp'], df['Coronavirus'])plt.title("Normalized Searches for Coronavirus in NY")
plt.ylabel("Number of Searches")
plt.xlabel("Date")


让我们对马萨诸塞州的“冠状病毒”做同样的事情:

封装成函数

我们可以定义一个函数,使我们可以为任何周提取此数据:

def get_searches(key_word, state):
pytrends = TrendReq(hl='en-US', tz=360)
pytrends.build_payload([key_word], cat=0, timeframe='2020-02-01 2020-03-10', gprop='',geo='US-{}'.format(state))
df = pytrends.interest_over_time() print(df.head()) sns.set()
df['timestamp'] = pd.to_datetime(df.index)
sns.lineplot(df['timestamp'], df[key_word]) plt.title("Normalized Searches for {} in {}".format(key_word, state))
plt.ylabel("Number of Searches")
plt.xlabel("Date")

下面我们看看 NY, MA, CA:

get_searches('Coronavirus', 'NY')
get_searches('Coronavirus', 'MA')
get_searches('Coronavirus', 'CA')


我们可以提取其他州数据或者整个美国的数据。 也可以使用其他关键字输入进行操作。 也许您想搜索“Coronavirus symptoms”(症状)或“Coronavirus mortality rate”(死亡率)。

总结

我们使用python库“ pytrends”提取了与关键字“冠状病毒”相对应的州级Google趋势数据。 社交媒体数据(例如Google趋势数据)可能对衡量与公众健康相关主题(例如冠状病毒)的社交参与度很有用。 这可以帮助疾病预防控制中心等卫生机构定量评估需求,分配资源并传达预防措施。 我希望您发现这篇文章有用/有趣。

从曲线我们就能看到,虽然川普嘴上说不重视,但是美国民众可不是这么想的,大家在很早以前就已经非常重视了,并且在3月11日达到了峰值,当时正好是NBA球星米切尔和汤姆汉克斯感染所以美国民众的关注度达到了高峰。

这里是送的

最后再验证下为什么老外都喜欢屯厕纸?
有报道说:老外把冠状病毒coronavirus和诺如病毒norovirus给混淆了,而诺如病毒引发的主要症状就是腹泻,也没有疫苗和特效药物,那我们看下来老外对这个词的关注程度吧:

看样子还真是这样的,这个关键词热度在11月以后飙升,基本增长的趋势和冠状病毒一样,所以由此来看,真的和拼错有一定的关系。

数据采集实战:通过Python获取和分析Google趋势中Covid-19的关注程度的更多相关文章

  1. (数据科学学习手札47)基于Python的网络数据采集实战(2)

    一.简介 马上大四了,最近在暑期实习,在数据挖掘的主业之外,也帮助同事做了很多网络数据采集的内容,接下来的数篇文章就将一一罗列出来,来续写几个月前开的这个网络数据采集实战的坑. 二.马蜂窝评论数据采集 ...

  2. selenium2自动化测试实战--基于Python语言

    自动化测试基础 一. 软件测试分类 1.1 根据项目流程阶段划分软件测试 1.1.1 单元测试 单元测试(或模块测试)是对程序中的单个子程序或具有独立功能的代码段进行测试的过程. 1.1.2 集成测试 ...

  3. python获取系统内存占用信息的实例方法

    psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等)信息.它主要应用于系统监控, ...

  4. kafka实战教程(python操作kafka),kafka配置文件详解

    kafka实战教程(python操作kafka),kafka配置文件详解 应用往Kafka写数据的原因有很多:用户行为分析.日志存储.异步通信等.多样化的使用场景带来了多样化的需求:消息是否能丢失?是 ...

  5. Python文章相关性分析---金庸武侠小说分析

    百度到<金庸小说全集 14部>全(TXT)作者:金庸 下载下来,然后读取内容with open('names.txt') as f: data = [line.strip() for li ...

  6. kubernetes之监控Prometheus实战--prometheus介绍--获取监控(一)

    Prometheus介绍 Prometheus是一个最初在SoundCloud上构建的开源监控系统 .它现在是一个独立的开源项目,为了强调这一点,并说明项目的治理结构,Prometheus 于2016 ...

  7. Python 获取车票信息

    提示:该代码仅供学习使用,切勿滥用!!! 先来一个git地址:https://gitee.com/wang_li/li_wang 效果图: 逻辑: 1.获取Json文件的内容 2.根据信息生成URL ...

  8. 用python探索和分析网络数据

    Edited by Markdown Refered from: John Ladd, Jessica Otis, Christopher N. Warren, and Scott Weingart, ...

  9. python爬虫之分析Ajax请求抓取抓取今日头条街拍美图(七)

    python爬虫之分析Ajax请求抓取抓取今日头条街拍美图 一.分析网站 1.进入浏览器,搜索今日头条,在搜索栏搜索街拍,然后选择图集这一栏. 2.按F12打开开发者工具,刷新网页,这时网页回弹到综合 ...

随机推荐

  1. CF-544:部分题目总结

    -------------------昨天打的重现赛,感觉是我打的发挥的最好的一场比赛了,六题都一次AC.那么就来总结一下吧 题目链接:http://codeforces.com/contest/11 ...

  2. Python 装饰器 多装饰器同时装饰一个函数 多参数函数

    装饰器是在不修改源代码的情况下,使用装饰器增加原函数的功能. 在软件开发中有一个原则——"开放-封闭",简单地说就是已经实现的功能不允许被修改,但可以被扩展. 封闭:已经实现的功能 ...

  3. firefox45版本与seleniumIDE

    firefox45版本与seleniumIDE https://blog.csdn.net/seanlyly/article/details/80203896 seleniumIDE与firefox版 ...

  4. orcale 11g安装,创建表空间,用户,授权用户

    一.卸载旧oracle 用Oracle自带的卸载程序不能从根本上卸载Oracle,从而为下次的安装留下隐患,那么怎么才能完全卸载Oracle呢?那就是直接注册表清除,步骤如下: 1. 开始->设 ...

  5. 林轩田机器学习基石笔记2—Learning to Answer Yes/No

    机器学习的整个过程:根据模型H,使用演算法A,在训练样本D上进行训练,得到最好的h,其对应的g就是我们最后需要的机器学习的模型函数,一般g接近于目标函数f.本节课将继续深入探讨机器学习问题,介绍感知机 ...

  6. Java IO: Reader And Writer

    原文链接 作者: Jakob Jenkov  译者: 李璟(jlee381344197@gmail.com) Java IO的Reader和Writer除了基于字符之外,其他方面都与InputStre ...

  7. ERROR 1129 (00000) Host ‘XXXXXX’ is blocked because of many connection errors; unblock with ‘mysqlad

    1.今天早上由于公司网络带宽达到上限,导致多台web服务器连接mysql服务器超时.后来情况好转后,连接数据库服务器出现如下错误. Host '*' is blocked because of man ...

  8. Archlinux 自动挂载移动硬盘,开机自动启动smb服务

    Archlinux + Raspberry 打造NAS: samba篇 树莓派自动挂载硬盘,并开启smb服务. 开机自动挂在移动硬盘ntfs 安装ntfs-3g sudo pacman -S ntfs ...

  9. runR

    Linux下使用R 运行linux下的R脚本 编写R文件 新建后缀名为R的文件 写入R程序 在脚本首行加入 1 运行R文件 这里有两种方式 大专栏  runR进入R的环境">进入R的环 ...

  10. 悖论当道,模式成空:汽车O2O真是死得其所?

    O2O热潮的兴起似乎来得颇为蹊跷--或许是线上连接线下的模式太过空泛,具有极大的包容性,让各个行业都忍不住在其中横插一脚.在经历过最初的崛起和后来的火爆之后,最终形成目前的寒冬.究其原因,O2O并不是 ...