From 672a2cdf65ff86f2af67870051b3a560ab27da87 Mon Sep 17 00:00:00 2001 From: Joshua Lochner Date: Sun, 4 Dec 2022 23:22:26 +0200 Subject: [PATCH 1/2] Fix pandas `frame.append` deprecation warning (Fixes #525) --- pytrends/request.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/pytrends/request.py b/pytrends/request.py index 933d899d..364012ad 100644 --- a/pytrends/request.py +++ b/pytrends/request.py @@ -432,14 +432,11 @@ def today_searches(self, pn='US'): url=TrendReq.TODAY_SEARCHES_URL, method=TrendReq.GET_METHOD, trim_chars=5, - params=forms + params=forms, + **self.requests_args )['default']['trendingSearchesDays'][0]['trendingSearches'] - result_df = pd.DataFrame() # parse the returned json - sub_df = pd.DataFrame() - for trend in req_json: - sub_df = sub_df.append(trend['title'], ignore_index=True) - result_df = pd.concat([result_df, sub_df]) + result_df = pd.DataFrame(trend['title'] for trend in req_json) return result_df.iloc[:, -1] def realtime_trending_searches(self, pn='US', cat='all', count =300): From 18f230dd69c2cd89c203c967ac139a8218975f4d Mon Sep 17 00:00:00 2001 From: Joshua Lochner Date: Mon, 5 Dec 2022 00:59:12 +0200 Subject: [PATCH 2/2] Allow user to supply headers (e.g., user-agent). Alleviates 429 errors --- pytrends/request.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pytrends/request.py b/pytrends/request.py index 364012ad..5856f129 100644 --- a/pytrends/request.py +++ b/pytrends/request.py @@ -60,6 +60,9 @@ def __init__(self, hl='en-US', tz=360, geo='', timeout=(2, 5), proxies='', self.related_topics_widget_list = list() self.related_queries_widget_list = list() + self.headers = {'accept-language': self.hl} + self.headers.update(self.requests_args.pop('headers', {})) + def GetGoogleCookie(self): """ Gets google cookie (used for each and every proxy; once on init otherwise) @@ -124,7 +127,7 @@ def _get_data(self, url, method=GET_METHOD, trim_chars=0, **kwargs): method_whitelist=frozenset(['GET', 'POST'])) s.mount('https://', HTTPAdapter(max_retries=retry)) - s.headers.update({'accept-language': self.hl}) + s.headers.update(self.headers) if len(self.proxies) > 0: self.cookies = self.GetGoogleCookie() s.proxies.update({'https': self.proxies[self.proxy_index]})