我正在尝试编写一个 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 Trends API”)——我的项目经理坚持我不使用不是由站点直接创建的模块(即:API 是可以接受的,但仅限于官方的 Google API)。只有 BeautifulSoup 被批准为插件(不要问为什么)。
下面是我尝试过的代码示例。我知道这是基本的,但是在我收到的第一个请求中:
HTTPError:HTTP 错误 429:未知”:请求过多。
对其他问题的一些回答提到了 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
Run Code Online (Sandbox Code Playgroud)