用Python进行谷歌Search分析
在这篇文章中,我们将介绍用Python编程语言分析谷歌搜索的方法。
谷歌没有分享确切的搜索数量,但据估计,每小时有2.28亿次搜索,或每天有58亿次搜索。这确实是一个巨大的数字! 让我们在python的帮助下,根据搜索查询做谷歌搜索分析。
该文章内容。
- 什么是Pytrends?
- 如何安装Pytrends
- 连接到谷歌
- 建立有效载荷
- 兴趣随时间变化
- 历史上每小时的兴趣
- 按地区的兴趣
- Top Charts
- 相关查询
- 关键词建议
什么是Pytrends?
Pytrends 是一个在python中使用的非官方的Google趋势API。它可以帮助分析并列出基于不同地区和语言的特定话题或主题的最受欢迎的谷歌搜索结果。
如何安装Pytrends?
要使用这个API,你首先需要在你的系统上安装它。你可以使用命令 pip install pytrends轻松地安装它。
pip install pytrends
连接到Google
现在,让我们开始通过导入所需的python库来完成分析Google搜索趋势的任务。首先,我们需要导入 pandas 来创建一个数据框架。其次,我们需要连接到谷歌,因为我们要请求谷歌的趋势主题,所以为此,我们需要从pytrends.request库中导入方法 TrendReq 。此外,我们将导入 matplotlib, 以实现数据的可视化。
import pandas as pd
from pytrends.request import TrendReq
import matplotlib.pyplot as plt
Trending_topics = TrendReq(hl='en-US', tz=360)
建立有效载荷
现在,我们将创建一个数据框架,包括搜索” CLOUD COMPUTING “的前10个国家。为此,我们将使用 build_payload的方法, ,它允许存储你想要搜索的关键词列表。在此,你也可以指定时间范围和类别来查询数据。
kw_list=["Cloud Computing"]
Trending_topics.build_payload(kw_list,cat=0, timeframe='today 12-m')
Interest Over Time
interest_over_time()方法,根据build payload方法中提到的时间框架,返回指定关键词被搜索最多时的历史、索引数据。
Trending_topics.build_payload(kw_list=["Cloud Computing"],
cat=0, timeframe='today 12-m')
data = Trending_topics.interest_over_time()
data = data.sort_values(by="Cloud Computing", ascending = False)
data = data.head(10)
print(data)
输出:
历史小时兴趣
get_historical_interest()方法,返回指定关键词被搜索最多的历史、索引、小时数据。你也可以提到你想要的历史数据的各种时间段参数,如year_start, month_start, day_start, hour_start, year_end, month_end, day_end, and hour_end。
kw_list = ["Cloud Computing"]
Trending_topics.build_payload(kw_list)
data = Trending_topics.get_historical_interest(
kw_list, year_start=2018, month_start=1, day_start=1,
hour_start=0, year_end=2018, month_end=2, day_end=1,
hour_end=0, cat=0, geo='', gprop='', sleep=0)
data = data.sort_values(by="Cloud Computing", ascending = False)
data = data.head(10)
print(data)
输出:
Interest By Region
接下来是interest_by_region方法,这将让你知道每个地区关键词的表现。它将在0-100的范围内显示结果,其中100表示搜索最多的国家,0表示搜索最少或没有足够的数据。
data = Trending_topics.interest_by_region()
data = data.sort_values(by="Cloud Computing",
ascending = False)
data = data.head(10)
print(data)
之后,运行上述代码,你会得到类似于下面的输出, ,这取决于build_payload方法中提到的时间框架 。
输出:
接下来,我们可以用柱状图将上述数据可视化。
data.reset_index().plot(x='geoName', y='Cloud Computing',
figsize=(10,5), kind="bar")
plt.style.use('fivethirtyeight')
plt.show()
输出:
Top Charts
使用这种方法,我们可以得到每年的最高趋势搜索。因此,让我们检查一下2020年的搜索趋势是什么。
df = Trending_topics.top_charts(2020, hl='en-US',
tz=300, geo='GLOBAL')
df.head(10)
输出:
从上面的输出中,我们可以看到,2020年搜索量最大的主题是 ” 冠状病毒 ” ,然后是其他。
相关查询
每当用户在谷歌上搜索关于某个特定主题的东西时,用户很可能会搜索与同一主题相关的更多查询。这些被称为相关查询。让我们来看看 “云计算 “的相关查询列表。
Trending_topics.build_payload(kw_list=['Cloud Computing'])
related_queries = Trending_topics.related_queries()
related_queries.values()
以下是一些在谷歌上搜索最多的与云计算有关的查询。
输出:
关键词建议
suggestions()方法,将帮助你探索世界上正在搜索的东西。它返回一个额外的建议关键词列表,可以用来过滤谷歌上的趋势搜索。
keywords = Trending_topics.suggestions(
keyword='Cloud Computing')
df = pd.DataFrame(keywords)
df.drop(columns= 'mid')
输出: