一、Related Queries
(一)什么是Related Queries

(二)执行结果

(三)代码
安装 pip install pytrends
2 | from pytrends.request import TrendReq |
6 | pytrend.build_payload(kw_list=[ 'china' ]) |
8 | related_queries = pytrend.related_queries() |
9 | keywords = related_queries.values() |
二、Google Keyword Suggestions
(一)什么是Google Keyword Suggestions

(二)执行结果

不过执行不太稳定,有时会报连接错误,可能是无法访问google的原因。
(三)代码
2 | from pytrends.request import TrendReq |
6 | keywords = pytrend.suggestions(keyword= 'Mercedes Benz' ) |
7 | df = pd.DataFrame(keywords) |
8 | df.drop(columns= 'mid' ) # This column makes no sense |
代码二:
2 | from pytrends.request import TrendReq |
4 | def get_google_keywords(keyword): |
6 | keywords = pytrend.suggestions(keyword=keyword) |
7 | df = pd.DataFrame(keywords) |
(四)存在问题:
1.遇到“Condole belt”这样中间有空格的词取不到结果?不是空格原因,是本来就没有数据。
2. 延时报错
urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='trends.google.com', port=443): Read timed out. (read timeout=5)
不必慌张,造成这个问题的原因并不是我们的环境配置有问题,只是“连接超时”而已,重新执行代码就可以了。
3.429代码
pytrends.exceptions.ResponseError: The request failed: Google returned a response with code 429.
429 代表Too Many Requests (太多请求)
当你需要限制客户端请求某个服务的数量,也就是限制请求速度时,该状态码就会非常有用。在此之前,有一些类似的状态码。例如“509 Bandwidth Limit Exceeded”。
如果你希望限制客户端对服务的请求数,可使用 429 状态码,同时包含一个 Retry-After 响应头用于告诉客户端多长时间后可以再次请求服务。
参考:https://github.com/Tanu-N-Prabhu/Python/blob/master/Google_Trends_API.ipynb
https://betterprogramming.pub/get-google-trends-results-using-python-a983e228209c