1. 程式人生 > >資料採集實戰:通過Python獲取和分析Google趨勢中Covid-19的關注程度

資料採集實戰:通過Python獲取和分析Google趨勢中Covid-19的關注程度

在傳染病研究領域,社交媒體資料已被證明可作為預測感冒和流感季節的發作和進展的指標。在本文中,我們將使用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關注程度

在傳染病研究領域,社交媒體資料已被證明可作為預測感冒和流感季節的發作和進展的指標。在本文中,我們將使用Google Trends API來衡量與冠狀病毒的狀態。我們將使用python谷歌趨勢API pytrends在州一級分析google搜尋“冠狀病毒”。 安裝依賴 要安裝pytrends,請開啟命令列並輸

【利用python進行資料分析——基礎篇】利用Python處理分析Excel表資料實戰

作為一個學習用Python進行資料分析的新手來說,通過本文來記錄分享一些我在用Python中的pandas、numpy來分析Excel表中資料的資料清洗和整理的工作,目的是熟悉numpy以及pandas基礎操作,所有操作利用Excel均可以方便實現。備註:本文中使用的是ipy

WSWP(用python寫爬蟲)筆記二實現連結獲取資料儲存爬蟲

前面已經構建了一個獲取連結的爬蟲模組,現在繼續完善這個爬蟲。 分析網頁 要對一個網頁中的資料進行提取,需要先對網頁的結構有一個大體的瞭解,通過在瀏覽器檢視網頁原始碼的方法就能實現。 在瞭解到網頁的結構後,接下來便是獲取自己想要的資料了,個人比較喜歡用C

實戰利用Python sklearn庫裡的邏輯迴歸模型訓練資料---建立模型

本案例主要是通過對不均衡的28萬組資料建立模型,分析預測欺詐使用者,採用sigmod函式作為損失函式,採用交叉驗證的方法 和l1正交法則,比對了不同懲罰函式下的模型的召回率,也通過預測值和實際值做出混淆矩陣更加直觀看到各種預測結果。 也比較了sigmod函式下的不同閾值下的模型預測的精度和召

爬蟲python獲取oanda的歷史利率資料

import time import requests import pandas as pd main_url='https://fx1.oanda.com/mod_perl/user/interestrates.pl?' last_url='currency=AUD&am

Python程式設計通過反射獲取包名下所有模組及模組所包含的方法

準備工作 環境: python 3.6 檔案結構 ├── clazz │ ├── __init__.py │ ├── a.py │ └── b.py └── main.py a.py 的程

實戰Python分析17-18賽季NBA勝率超70%球隊資料開始…

Casey    豈安業務風險分析師 主要負責豈安科技RED.Q的資料分析和運營工作。 就在昨天,12月19日,科比再次站在斯臺普斯中心球館中央,見證自己的兩件球衣高懸於球館上空。作為一個正奮戰在 Python 之路上的球迷,開始了一次資料分析實戰,於是,以分

Java資料結構之——佇列通過連結串列陣列實現

//連結串列實現佇列 class Node<E>{ Node<E> next = null; E data; public Node(E data){ this.data = data; } } public clas

轉載資料探勘之_SVD的python實現分析

作者:NumX  來源:CSDN  原文:https://blog.csdn.net/baidu_36316735/article/details/53760479?utm_source=copy 前言 今日實現第一個推薦演算法,在”機器學習實戰“一書中找到了SVD方法一

MIB BrowserWireshark 的使用通過oid獲取裝置資訊時的SNMP報文分析

MIB Browser&  Wireshark Table View 1.   Address  : 172.16.72.134 (將我所在主機的IP新增到172.16.72.134 的SNMP中) 2.   OID:  .1.3.6.1.2.2.1  (或點選i

MySQL通過python獲取資料列表

也許你已經嘗試了在python中通過 cur.execute(“select * from student”) 來查詢資料表中的資料,但它並沒有把表中的資料打印出來,有些失望。 來看看這條語句獲得的是什麼

RabbitMQ實戰界面管理監控

RabbitMQ本系列是「RabbitMQ實戰:高效部署分布式消息隊列」書籍的總結筆記。 上一篇總結了可能出現的異常場景,並對RabbitMQ提供的可用性保證進行了分析,在出現服務器宕機後,仍然可以正常服務。另外,需要盡快恢復異常的服務器,重新加入集群,推送未消費的消息,通過監控可第一時間接收到錯誤並進行處

通過Python 獲取Linux系統用戶的登錄信息

linux CentOS Python 通過Python腳本實現用戶登入Linux的時候自動發郵件通知管理員系統環境CentOS 7 #!/usr/bin/env python#coding:utf-8 #導入需要的庫,如果沒有自行安裝import osimport smtplibfrom ema

通過python獲取蘋果手機備份文件的照片,視頻等信息采集

import not ani 百度地圖 如果 else 分享圖片 com 等等 前言:蘋果手機用戶通常會將手機備份到電腦上,而備份文件通常不會自動刪除。在我們電腦取證,或者***到一臺電腦後可以通過python腳本獲取到備份文件中的一些隱私信息,比如照片、視頻、相關軟件中的

分享《機器學習實戰基於Scikit-LearnTensorFlow》高清中英文PDF+原始碼

下載:https://pan.baidu.com/s/1kNN4tDt58ckFoD_OWH5sGw 更多資料分享:http://blog.51cto.com/3215120 《機器學習實戰:基於Scikit-Learn和TensorFlow》高清中文版PDF+高清英文版PDF+原始碼 高清中文版PDF

分享《機器學習實戰基於Scikit-LearnTensorFlow》高清中英文PDF+源代碼

ESS alt mark 構建 image 機器學習實戰 dff com 化學 下載:https://pan.baidu.com/s/1kNN4tDt58ckFoD_OWH5sGw 更多資料分享:http://blog.51cto.com/3215120 《機器學習實戰:基

分享《機器學習實戰基於Scikit-LearnTensorFlow》+PDF+Aurelien

ext https oss 模型 img kit 復制 mage 更多 下載:https://pan.baidu.com/s/127EzxtY9zdBU2vOfxEgIjQ 更多資料分享:http://blog.51cto.com/14087171 《機器學習實戰:基於Sc

極簡機器學習課程使用Python構建訓練一個完整的人工神經網

直接閱讀技術類的教材是困難的,理論的密集程度常常令人生畏,而Welch Labs的視訊用有趣的短片形式,以達到教學的目的,並結合相關資源介紹技術背景,使你能熟練掌握主題。 而本文介紹的系列,將帶領大家使用Python構建和訓練一個完整的人工神經網路。1.資料+架構 要想使用一種機器學習的方

效能優化實戰百萬級WebSocketsGo語言

SegmentFault 首頁 問答 專欄 講堂 發現 搜尋 立即登入免費註冊

氣象資料Grib格式解析的Python程式碼Matlab程式碼

       以.grb/.grb1/.grb2為副檔名的都是氣象資料,氣象資料中可以儲存多個內容,如雲量、雪深、氣壓、風速等內容,或者具有時間序列的雲量等。這些檔案不可以直接開啟成圖片,若想直觀地檢視grib資料,需要讀取檔案並將其解析出