Apo*_*llo 7 python screen-scraping google-trends
我已经使用 pytrends(一个用于检索谷歌趋势数据的包)工作很长时间了,并意识到我在浏览器上得到的结果和使用 pytrends 得到的结果有很大不同。在检查了每个人正在执行的请求之后,我能够发现的唯一区别是他们都发出的请求中的用户类型参数,以及一些细微的更改,例如,浏览器使请求指示时区两次。
Browser:
"userConfig":{"userType":"USER_TYPE_LEGIT_USER"}
Pytrends:
"userConfig": {"userType": "USER_TYPE_SCRAPER"}
Run Code Online (Sandbox Code Playgroud)
请求中的时间范围、时区和其余参数都是相同的,但在对数据进行实际请求之前必须获取令牌。我不知道为什么会发生这种情况,而且我不认为令牌与您的请求有任何关系,再次,唯一的区别是指定不同用户类型的两个请求
现在我发布两个完整的请求,每个请求但令牌:
Pytrends
https://trends.google.com/trends/api/widgetdata/multiline?req={"time": "2014-12-28 2020-01-01", "resolution": "WEEK", "locale": "es", "comparisonItem": [{"geo": {"region": "ES-CM"}, "complexKeywordsRestriction": {"keyword": [{"type": "BROAD", "value": "gripe"}]}}], "requestOptions": {"property": "", "backend": "IZG", "category": 0}, "userConfig": {"userType": "USER_TYPE_SCRAPER"}}&token=TOKEN_HERE&tz=-120
Run Code Online (Sandbox Code Playgroud)
Browser
https://trends.google.es/trends/api/widgetdata/multiline?hl=es&tz=-120&tz=-120&req={"time":"2014-12-28 2020-01-01","resolution":"WEEK","locale":"es","comparisonItem":[{"geo":{"region":"ES-CM"},"complexKeywordsRestriction":{"keyword":[{"type":"BROAD","value":"gripe"}]}}],"requestOptions":{"property":"","backend":"IZG","category":0},"userConfig":{"userType":"USER_TYPE_LEGIT_USER"}}&token=TOKEN_HERE
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么会发生这种情况以及我如何设法检索它们之间的一致数据?另外,如果您抓取他们的网站而不是使用浏览器,为什么谷歌会提供不同的数据?
| 归档时间: |
|
| 查看次数: |
1047 次 |
| 最近记录: |