【发布时间】:2019-10-13 21:40:24
【问题描述】:
我正在尝试编写一个 Python 程序来从 Google 趋势 (GT) 中收集数据——具体来说,我想自动打开 URL 并访问折线图中显示的特定值:
我会很高兴下载 CSV 文件,或者通过网络抓取值(根据我对 Inspect Element 的阅读,清理数据只需要简单的一两次拆分)。我有很多想要进行的搜索(很多不同的关键字)
我正在创建许多 URL 来从 Google 趋势中收集数据。我使用了来自测试搜索的实际 URL。 URL 示例:https://trends.google.com/trends/explore?q=sports%20cars&geo=US 在浏览器上实际搜索此 URL 会显示相关的 GT 页面。当我尝试通过程序访问它时,问题就来了。
我看到的大多数回复都建议使用 Pip 的公共模块(例如 PyTrends 和“非官方 Google 趋势 API”)——我的项目经理坚持我不使用不是由网站直接创建的模块(即:API 是可接受,但只有官方的 Google API)。只有 BeautifulSoup 被批准为插件(不要问为什么)。
以下是我尝试过的代码示例。我知道这是基本的,但在 first 我收到的请求中:
HTTPError: HTTP Error 429: unknown": 请求太多。
对其他问题的一些回复提到了 Google Trends API - 这是真的吗?我在官方 API 上找不到任何文档。
这是另一篇文章,其中概述了我尝试过但对我不起作用的解决方案:
https://codereview.stackexchange.com/questions/208277/web-scraping-google-trends-in-python
url = 'https://trends.google.com/trends/explore?q=sports%20cars&geo=US'
html = urlopen(url).read()
soup = bs(html, 'html.parser')
divs = soup.find_all('div')
return divs
【问题讨论】:
-
链接到示例的内容有什么问题?
-
@QHarr 这里是指向错误的链接。 imgur.com/RMWyW6V
-
似乎 rss 是针对前 100 个趋势而不是特定趋势
标签: python web-scraping beautifulsoup request google-trends