如何存储来自 Google Ngram API 的数据?

How to store data from Google Ngram API?

我需要将图表中显示的数据存储在 Google Ngram 网站上。例如,我想将 "it's" 的出现次数存储为 1800-2008 的百分比,如下所示 link:https://books.google.com/ngrams/graph?content=it%27s&year_start=1800&year_end=2008&corpus=0&smoothing=3&share=&direct_url=t1%3B%2Cit%27s%3B%2Cc0.

我想要的数据是您可以在图表上滚动的数据。我如何提取大约 140 个不同的术语(例如 "it's"、"they're"、"she's" 等)?

econpy 编写了一个 nice little module in Python,您可以通过命令行界面使用它。

对于您的 "it's" 示例,您需要在终端/windows 控制台中键入此命令:

python getngrams.py it's -startYear=1800 -endYear=2008 -corpus=eng_2009 -smoothing=3

这会自动将查询结果保存在以您的查询参数命名的 CSV 文件中。

econpy 的包,在@HugoMailhot 的回答中,不再有效(2021)并且似乎没有维护。 这是一个更新版本,为了更容易集成到 Python 代码中进行了一些改进: https://gitlab.com/cpbl/google-ngrams

您可以从命令行(如在 econpy 中)调用它来创建 CSV 文件,例如

getngrams.py it's -startYear=1800 -endYear=2008 -corpus=eng_2009 -smoothing=3

或从 python 调用它以直接在 python 中获取(并绘制)数据,例如:

from getngrams import ngrams
df = ngrams('bells and whistles -startYear=1900 -endYear=2018 -smoothing=2')
df.plot()

xkcd 功能仍然存在。

(问题/错误修复拉取请求/等欢迎)