def get_info_world(timeframe): res_df = [] all_words = [['ada','altcoin','altcoins','bitcoin','bitconnect'],['bitminter', 'blockchain', 'blockchain%20mining','btc', 'cardano'],['crypto', 'cryptocurrencies','cryptocurrency', 'cryptographic', 'dash'], ['doge', 'dogecoin', 'eos','ethereum', 'hashing'],['hashocean', 'hodl', 'ico', 'iota', 'litecoin'],['localbitcoins', 'ltc', 'ltc', 'mercado', 'mining%20cryptocurrency'], ['montero', 'onecoin', 'satoshi', 'stellar', 'stratis'], ['tron', 'xlm', 'xmr', 'xrp', 'zcash']] for k in all_words: list_query_top = [] list_query_top_value = [] list_query_rising = [] list_query_rising_value = [] pytrend = TrendReq() pytrend.build_payload(kw_list=k ,timeframe=timeframe) related_queries_dict = pytrend.related_queries() for f in k: s_top = related_queries_dict[f]['top'] s_rising = related_queries_dict[f]['rising'] if s_rising is not None: df_rising = s_rising.where(s_rising > 500) df_rising = df_rising.dropna() list_rising = df_rising['query'].tolist() list_rising2 = df_rising['value'].tolist() result_rising = zip(list_rising, list_rising2) if s_top is not None: df_top = s_top.where(s_top > 50) df_top = df_top.dropna() list_query_top = df_top['query'].tolist() list_query_top2 = df_top['value'].tolist() result_top = zip(list_query_top, list_query_top2) print(list(result_top)) for j in result_top: url = j[0].replace(" ", "+") url2 = 'https://trends.'+'google.com/trends/explore?q=' + f + '+' + url + '&date={}'.format(timeframe) pytrend.build_payload(kw_list=[j[0]],timeframe='now 1-d') interest_by_region_df = pytrend.interest_by_region() s = interest_by_region_df[j[0]] df = s.where(s > 50) df = df.dropna() df = df.sort_values(ascending=False) interest_by_region = pd.Series(df.index.values.tolist()) weight = pd.Series(list(df.values)) res_df.append(pd.DataFrame({'Location': pd.Series('Wordwide'), 'Keyword': pd.Series(f), 'Related Queries': pd.Series(j[0]), 'Percentage': pd.Series(str(j[1] * 10)), 'Interest by Region':interest_by_region, 'Weight': weight, 'Google Search Link': pd.Series('<a href="{}">{}</a>'.format(url2, url2))})) for j in result_rising: url = j[0].replace(" ", "+") url2 = 'https://trends.'+'google.com/trends/explore?q=' + f + '+' + url + '&date={}'.format(timeframe) pytrend.build_payload(kw_list=[j[0]],timeframe=timeframe) interest_by_region_df = pytrend.interest_by_region() s = interest_by_region_df[j[0]] df = s.where(s > 50) df = df.dropna() df = df.sort_values(ascending=False) interest_by_region = pd.Series(df.index.values.tolist()) weight = pd.Series(list(df.values)) res_df.append(pd.DataFrame({'Location': pd.Series('Wordwide'), 'Keyword': pd.Series(f), 'Related Queries': pd.Series(j[0]), 'Percentage': pd.Series('Breakout'), 'Interest by Region':interest_by_region, 'Weight': weight, 'Google Search Link': pd.Series('<a href="{}">{}</a>'.format(url2, url2))})) df = pd.concat(res_df) return df
def find_geos(tf, phrase): pytrends = TrendReq(hl='en-US', tz=360) pytrends.build_payload([phrase], cat=0, timeframe='now 7-d', geo='', gprop='') print(type(pytrends.interest_by_region(resolution='COUNTRY'))) return pytrends.interest_by_region(resolution='COUNTRY')
def get_query_features_GoogleTrends(participant_name, hl='en-US', geo="", gprop=""): #https:/towardsdatascience.com/telling-stories-with-google-trends-using-pytrends-in-python-a11e5b8a177 #download imgs agosto 2020 #SPAIN # pytrends = TrendReq(hl='es-ES', tz=360, geo="ES") # df_by_region_SPAIN = pytrends.interest_by_region(resolution='REGION', inc_low_vol=True, inc_geo_code=True) #WORLD # '2020-06-01 2017-06-01' example '2016-12-14 2017-01-25' pytrends = TrendReq(hl=hl, tz=360, geo=geo) pytrends.build_payload([participant_name], cat=0, timeframe='2017-06-01 2020-06-01', geo=geo, gprop=gprop) df_over_time = pytrends.interest_over_time() query_popularity_by_country = pytrends.interest_by_region( resolution='COUNTRY', inc_low_vol=True, inc_geo_code=True) query_popularity_by_country["COUNTRY"] = query_popularity_by_country.index query_popularity_by_country.index = range(len(query_popularity_by_country)) query_popularity_by_country = query_popularity_by_country.sort_values( [participant_name], ascending=False) #dict_related_topic = pytrends.related_topics() #suggestions = pytrends.suggestions(participant_name) #N_COUNTRIES: # result_higher50 = query_popularity_by_country[query_popularity_by_country[participant_name]>=50] # result_lower50 = query_popularity_by_country[query_popularity_by_country[participant_name] < 50] return query_popularity_by_country
def get_interest_by_region(sessiontrend=None, term='', geo='GB', timeframe='today 5-y', resolution="COUNTRY"): kw_list = [term] if sessiontrend is None: pytrends = TrendReq(hl='en-US', tz=0) pytrends.build_payload(kw_list, cat=0, timeframe=timeframe, geo=geo, gprop='') else: pytrends = sessiontrend top_regions = pytrends.interest_by_region(resolution=resolution, inc_low_vol=True, inc_geo_code=False) region_names = list(top_regions[term]) region_score = list(top_regions.index.values) #print("Debug region stuff: ", region_names, region_score) result = [] for i in range(len(region_names)): result.append([region_names[i], region_score[i]]) result = sorted(result, key=lambda l: l[0], reverse=True) i = range(len(result)) for i in range(len(result)): if result[i][0] == 0: break return result[:i]
def get_trends(kw_list: list, s_date, e_date): """ Gets trends from Google Trends and returnds pandas series table. :param kw_list: list, keyword list. :param s_date: date, start_date. :parma e_date: date, end_date. """ try: pytrends = TrendReq(hl='tr_TR', tz=360) if kw_list[-1] == '': kw_list.pop(-1) if s_date is None or s_date == "" or e_date is None or e_date == "": pytrends.build_payload(kw_list, cat=0, timeframe='all', geo='TR') else: pytrends.build_payload(kw_list, cat=0, timeframe='''{s_date} {e_date}'''.format(s_date=str(s_date), e_date=str(e_date)), geo='TR') trends_data = pytrends.interest_by_region(resolution='CITY') trends_data.to_csv('trends_data.csv') # json_data = trends_data.to_json(orient="columns", force_ascii=False) except Exception as e: raise e return trends_data
def generate_state_level_data_proxies(kw_list_, start_date, end_date, proxies_): previous_date = '' df = pd.DataFrame() pytrend = TrendReq(hl='en-US', tz=360, timeout=(10, 25), proxies=proxies_, retries=5, backoff_factor=1) for current_date in daterange(start_date, end_date): print(current_date) if previous_date == '': previous_date = current_date continue timeframe_ = previous_date.strftime(date_time_format_string) + ' ' + current_date.strftime( date_time_format_string) interest_list = [] count = 1 for entry in kw_list_: if count % 25 == 0: print(count) new_kw_list = [entry] pytrend.build_payload(kw_list=new_kw_list, geo='US', timeframe=timeframe_) interest_by_region_df = pytrend.interest_by_region(resolution='Region') interest_list.append(interest_by_region_df) count += 1 df[previous_date.strftime(date_time_format_string)] = interest_list previous_date = current_date return df
async def google_trends(request): if request.method == 'GET': topic = request.args.get('topic').split(',') lang = request.args.get('lang') region = request.args.get('reg') else: return json({'response': False, 'message': 'Wrong HTTP method', 'results': []}) if topic is None or topic is '': return json({'response': False, 'message': 'Not enough arguments', 'results': []}) from pytrends.request import TrendReq pytrends = TrendReq(hl='{}-{}'.format(lang, region), tz=360) pytrends.build_payload(topic) res = pytrends.interest_over_time() res.drop('isPartial', axis=1, inplace=True) rel_topics = pytrends.related_topics()[topic[0]] rel_topics.drop('mid', axis=1, inplace=True) rel_queries = pytrends.related_queries()[topic[0]] countries = pytrends.interest_by_region(resolution='COUNTRY') countries = countries[(countries.T != 0).any()] from json import loads countries = loads(countries.to_json())[topic[0]] return json({'message':'done', 'response': True, 'result': {'interest': res.to_json(), 'related_topics': rel_topics.to_json(), 'top_queries': rel_queries['top'].to_json(), 'rising_queries': rel_queries['rising'].to_json(), 'countries': countries}})
def home(request): location = "US" location = request.POST.get("geo", "") # Only need to run this once, the rest of requests will use the same session. pytrend = TrendReq() # Create payload and capture API tokens. Only needed for interest_over_time(), interest_by_region() & related_queries() pytrend.build_payload(kw_list=['anime'], geo=location, cat=317) # Interest Over Time interest_over_time_df = pytrend.interest_over_time() interest_df = interest_over_time_df.tail(10) interest_array = [] for m in interest_df.iterrows(): interest_array.append([m[0], m[1][0]]) # anime interest by regions in US interest_by_region_df = pytrend.interest_by_region() sorted_df = interest_by_region_df.sort_values(['anime'], ascending=False).head(10) region_array = [] # Convert df to array for i in sorted_df.iterrows(): parsed_row = int(i[1][0]) region_array.append([i[0], parsed_row]) return render(request, "main/view.html", { "regions": region_array, "interest": interest_array, "location": location })
class Trends: def __init__(self, keywords): self.pytrends = TrendReq(hl='uk', tz=360) self.pytrends.build_payload(keywords) def interest_over_time(self): return self.pytrends.interest_over_time() def interest_by_region(self, resolution='COUNTRY', inc_low_vol=False): return self.pytrends.interest_by_region(resolution=resolution, inc_low_vol=inc_low_vol) def related_topics(self): return self.pytrends.related_topics() def related_querries(self): return self.pytrends.related_queries() def trending_searches(self, pn='ukraine'): return self.pytrends.trending_searches(pn=pn) def top_charts(self, date, hl='uk', tz=360, geo='GLOBAL'): return self.pytrends.top_charts(date, hl=hl, tz=tz, geo=geo) def suggestions(self, keyword): return self.pytrends.suggestions(keyword)
def two_a_search(m1, m2, m3): search = [] pytrend = TrendReq() search.append(m1) search.append(m2) pytrend.build_payload(search, geo='IN', timeframe='today 3-m') result_total = pytrend.interest_over_time() result_total_geo = pytrend.interest_by_region(resolution='COUNTRY', inc_low_vol=True, inc_geo_code=False) index_list = list(map(lambda x: str(x), result_total.tail(30).index)) index_list = list( map( lambda x: str( datetime.strptime(x, "%Y-%m-%d %H:%M:%S").strftime("%d-%b")), index_list)) m1_3m = list(result_total[m1].tail(30)) m2_3m = list(result_total[m2].tail(30)) index_list_geo_1 = list(result_total_geo[m1].nlargest(10).index) index_list_geo_2 = list(result_total_geo[m2].nlargest(10).index) m1_geo = list(result_total_geo[m1].nlargest(10).values) m2_geo = list(result_total_geo[m2].nlargest(10).values) m1_key = list(pd.DataFrame(pytrend.suggestions(m1))["title"].values) m2_key = list(pd.DataFrame(pytrend.suggestions(m2))["title"].values) size = len(search) return (m1_3m, m2_3m, index_list, m1, m2, m3, size, m1_geo, m2_geo, index_list_geo_1, index_list_geo_2, m1_key, m2_key)
def google_trends_data(kw_list=None, start_string='2004-01-01', end_string=None, resolution='REGION'): pytrend = TrendReq() date_list = pd.date_range(start_string, end_string, freq='1M') - pd.offsets.MonthBegin(1) data_list = [] for index, dt in enumerate(date_list): next_dt = index + 1 if next_dt < len(date_list): timeframe = dt.strftime('%Y-%m-%d') + ' ' + date_list[next_dt].strftime('%Y-%m-%d') print("DATE:", timeframe) pytrend.build_payload(kw_list, cat=0, timeframe=timeframe, geo='US', gprop='') # Interest by region # DMA ~ MAJOR CITY, REGION == STATE _df = pytrend.interest_by_region( resolution=resolution ) # metro level data ( you can change 'DMA' to 'CITY', 'REGION' ) _df.reset_index(inplace=True) _df.loc[:, 'date'] = dt print(_df.head()) print("\n\n") data_list.append(_df) df = pd.concat(data_list) print(df.shape) ## columns w/ spaces to _ df.columns = df.columns.str.replace(' ', '_') df.columns = map(str.lower, df.columns) return df
def get_data(keyword, trend_type): data = {} # Connect to Google pytrend = TrendReq(hl='en-US', tz=360) # Build Payload for pytrends pytrend.build_payload(kw_list=[keyword], geo='US', timeframe='today 3-m', cat=0, gprop='') # get the data from the api if intereset_by_region or get_historical_interest if trend_type == 'interest_by_region': data = pytrend.interest_by_region(inc_geo_code=True) # get the geo data for regions geo = data.to_dict()['geoCode'] # get the interest for the search keyword data = data.to_dict()[keyword] data = [geo, data] print(data) elif trend_type == 'get_historical_interest': data = pytrend.interest_over_time() data = data.to_dict()[keyword] print(data) print("data") return data
def by_region(kw_list, draw=True, drop_0=True, **kwargs): """ Fetches the DataFrame of the Google Trend for a list of keywords. By default, it will drop 0 values and will draw the plot. Parameters ---------- kw_list : list List of keywords to search. draw : bool, optional Draw the bar plot for the keywords or not. The default is True. drop_0 : bool, optional Drop empty rows. The default is True. Returns ------- pandas.DataFrame DataFrame containing the keywords as columns and the country as index. """ pytrend = TrendReq() pytrend.build_payload(kw_list=kw_list, **kwargs) df = pytrend.interest_by_region() if drop_0: df = df.loc[(df!=0).any(axis=1)] if draw: df.plot(kind='bar') return df
def pytrend_data(kw_list): if len(kw_list) == 1: pytrend = TrendReq() pytrend.build_payload(kw_list=kw_list) df = pytrend.interest_by_region().reset_index() df = df[df[kw_list[0]] != 0].reset_index(drop=True) else: print("List can only have one value.") return pytrend, df
def getByDate(self, topic, dateVal): google_username = "******" google_password = "******" pytrend = TrendReq(google_username, google_password, custom_useragent='My Pytrends Script') pytrend.build_payload(kw_list=[topic], geo='US', timeframe=dateVal) dat = pytrend.interest_by_region(resolution='CITY') dat = dat.drop(['District of Columbia']) return dat
def plottrends(searchterm, tf, booRegion, booCreateCSV, secondtermforseries): print('Importing data from Google Trends') pytrend = TrendReq() if booRegion or len(secondtermforseries) == 0: search_list = [searchterm] else: search_list = [searchterm, secondtermforseries] pytrend.build_payload(search_list, cat=0, timeframe=tf, geo='', gprop='') register_matplotlib_converters() plt.figure(figsize=(10, 6)) fig = plt.figure(1) if booRegion: df = pytrend.interest_by_region() df.sort_values(searchterm, inplace=True, ascending=True) df.reset_index(level=0, inplace=True) df = df.tail(25) ax = fig.add_subplot(111) ax.tick_params(axis='x', which='major', labelsize=6) ax.tick_params(axis='x', which='minor', labelsize=6) ax.set_xticklabels(df['geoName'], rotation=50, ha="right") plt.bar(df['geoName'], df[searchterm], color='grey') plt.title("'" + searchterm + "'" + ' google searches by country over time : ' + tf) else: df = pytrend.interest_over_time() df.reset_index(level=0, inplace=True) plt.ylabel('Index') plt.plot(df['date'], df[searchterm], color='black', label=searchterm) if len(secondtermforseries) > 0: plt.plot(df['date'], df[secondtermforseries], color='grey', label=secondtermforseries) searchterm = searchterm + ' \\ ' + secondtermforseries plt.legend(loc="upper left") plt.title("'" + searchterm + "'" + ' google searches through time : ' + tf) print(df.head()) if booCreateCSV: print('Creating csv file') df.to_csv('c:\\temp\\googletrends.csv') plt.show()
class Trends: ''' Wrapper class for pytrends library. ''' def __init__(self, keywords): ''' Initialize trends object. ''' self.pytrends = TrendReq(hl='uk', tz=360) self.pytrends.build_payload(keywords) def interest_over_time(self): ''' Get interest overt time. ''' return self.pytrends.interest_over_time() def interest_by_region(self, resolution='COUNTRY', inc_low_vol=False): ''' Get interest by region. ''' return self.pytrends.interest_by_region(resolution=resolution, inc_low_vol=inc_low_vol) def related_topics(self): ''' Get related topics. ''' return self.pytrends.related_topics() def related_querries(self): ''' Get related search querries. ''' return self.pytrends.related_queries() def trending_searches(self, pn='ukraine'): ''' Get trending searhes by country. ''' return self.pytrends.trending_searches(pn=pn) def top_charts(self, date, hl='uk', tz=360, geo='GLOBAL'): ''' Get top charts by date. ''' return self.pytrends.top_charts(date, hl=hl, tz=tz, geo=geo) def suggestions(self, keyword): ''' Get suggestions for keyword. ''' return self.pytrends.suggestions(keyword)
def getGoogleTrendData2(geoCode): pytrend = TrendReq(hl='en-US', tz=360) kw_list = ['flu'] pytrend.build_payload(kw_list, cat=0, timeframe='today 1-m', geo=geoCode, gprop='') output = pytrend.interest_by_region(resolution='CITY') return output.to_dict()
def retrieveData(value): pytrend = TrendReq() kw_list = [value] pytrend.build_payload(kw_list, cat=0, geo='ZA', gprop='', timeframe='now 7-d') interest_over_time_df = pytrend.interest_over_time() interest_by_region_df = pytrend.interest_by_region() return [interest_over_time_df, interest_by_region_df]
def google_trend_score_of_phrase(phrase): pytrends = TrendReq(hl='en-US', tz=360) pytrends.build_payload([phrase], cat=0, timeframe='today 5-y', geo='', gprop='') popularity_of_phrase_by_state = pytrends.interest_by_region( resolution='USA') popularity_score = popularity_of_phrase_by_state.sum().values[0] return [phrase, popularity_score]
class Trends: def __init__(self, name: str): self.name = name self.trends = TrendReq(hl='uk', tz=360) self.trends.build_payload([name]) def get_interest_over_time(self): dataframe = self.trends.interest_over_time() return dataframe[dataframe[self.name] > 0][self.name].to_dict() def get_countries(self): dataframe = self.trends.interest_by_region() return dataframe[dataframe[self.name] > 0][self.name].to_dict()
def getGtrendsRegionalStat(self, request, country='ru_RU'): pytrends = TrendReq(hl=country, tz=360, timeout=(10,25), #proxies=['https://34.203.233.13:80',], retries=2, backoff_factor=0.4) pytrends.build_payload(kw_list=[request]) interest_by_region_df = pytrends.interest_by_region() result = [] for k,v in interest_by_region_df.items(): result.append({ 'region' : k, 'count' : v }) return result
def regions(other_args: List[str], ticker: str): """Plot bars of regions based on stock's interest. [Source: Google] Parameters ---------- other_args : List[str] Command line arguments to be processed with argparse ticker : str Ticker """ parser = argparse.ArgumentParser( add_help=False, formatter_class=argparse.ArgumentDefaultsHelpFormatter, prog="regions", description= """Plot bars of regions based on stock's interest. [Source: Google]""", ) parser.add_argument( "-n", "--num", action="store", dest="n_num", type=check_positive, default=10, help="number of regions to plot that show highest interest.", ) try: ns_parser = parse_known_args_and_warn(parser, other_args) if not ns_parser: return pytrend = TrendReq() pytrend.build_payload(kw_list=[ticker]) df_interest_region = pytrend.interest_by_region() df_interest_region = df_interest_region.sort_values( [ticker], ascending=False).head(ns_parser.n_num) plt.figure(figsize=(25, 5)) plt.title(f"Top's regions interest on {ticker}") plt.bar(df_interest_region.index, df_interest_region[ticker], width=0.8) plt.grid(b=True, which="major", color="#666666", linestyle="-") plt.ylabel("Interest [%]") plt.xlabel("Region") plt.show() print("") except Exception as e: print(e, "\n")
def value_analysis(): google_username = "******" google_password = "******" path = "" print "hello begin please" pytrend = TrendReq(google_username, google_password, custom_useragent='My Pytrends Script') # Create payload and capture API tokens. Only needed for interest_over_time(), interest_by_region() & related_queries() pytrend.build_payload(kw_list=['OPEC'], timeframe='now 7-d') # Interest Over Time interest_over_time_df = pytrend.interest_over_time() print interest_over_time_df interest_by_region_df = pytrend.interest_by_region() print interest_by_region_df
def lambda_handler(event, context): old_df = pd.read_csv("s3://open-hr-google-trends/region.csv") pytrends = TrendReq(hl='es-MX', tz=360) kw_list = ["bolsa de trabajo"] pytrends.build_payload(kw_list, timeframe='now 7-d', geo='MX', gprop='') regions = pytrends.interest_by_region(resolution='REGION', inc_low_vol=True, inc_geo_code=False) regions.reset_index(inplace=True) regions["date"] = str(date.today()) regions[["date", "geoName", "bolsa de trabajo"]] regions.rename(columns = {"geoName": "geoname", "bolsa de trabajo": "bolsa_de_trabajo"}, inplace = True) df = old_df.append(regions) bucket = 'open-hr-google-trends' csv_buffer = StringIO() df.to_csv(csv_buffer, index = False) s3_resource.Object(bucket, 'region.csv').put(Body=csv_buffer.getvalue())
def get_data(self): pytrend = TrendReq() keywords = self.keyword_list pytrend.build_payload(kw_list=keywords, cat=0, timeframe=self.timeframe, geo='', gprop='') data = pytrend.interest_by_region(resolution='COUNTRY', inc_low_vol=True, inc_geo_code=True) data.reset_index(inplace=True) data = data.replace(0, np.nan) return data
def get_regions(ticker: str) -> pd.DataFrame: """Get interest by region from google api [Source: google] Parameters ---------- ticker : str Ticker to look at Returns ------- pd.DataFrame Dataframe of interest by region """ pytrend = TrendReq() pytrend.build_payload(kw_list=[ticker]) return pytrend.interest_by_region()
def main(keywords: List[str], geo: str = "NL") -> None: """ Runner """ pytrend = TrendReq() pytrend.build_payload(kw_list=keywords, geo=geo) # Interest Over Time interest_over_time_df = pytrend.interest_over_time() pprint(interest_over_time_df.tail()) # Interest by Region interest_by_region_df = pytrend.interest_by_region() print(interest_by_region_df.head()) # Related Queries, returns a dictionary of dataframes related_queries_dict = pytrend.related_queries() print(related_queries_dict)
def regions(l_args, s_ticker): parser = argparse.ArgumentParser( prog='regions', description= """Plot bars of regions based on stock's interest. [Source: Google]""") parser.add_argument( '-n', "--num", action="store", dest="n_num", type=check_positive, default=10, help='number of regions to plot that show highest interest.') try: (ns_parser, l_unknown_args) = parser.parse_known_args(l_args) if l_unknown_args: print( f"The following args couldn't be interpreted: {l_unknown_args}\n" ) return pytrend = TrendReq() pytrend.build_payload(kw_list=[s_ticker]) df_interest_region = pytrend.interest_by_region() df_interest_region = df_interest_region.sort_values( [s_ticker], ascending=False).head(ns_parser.n_num) plt.figure(figsize=(25, 5)) plt.title(f"Top's regions interest on {s_ticker}") plt.bar(df_interest_region.index, df_interest_region[s_ticker], width=0.8) plt.grid(b=True, which='major', color='#666666', linestyle='-') plt.ylabel('Interest [%]') plt.xlabel("Time") plt.show() print("") except: print("")
def compute_search_penalty_country_dict(neg_terms, save_as="sp_dict.pkl"): s_t = [i for i in neg_terms.keys()] pytrend = TrendReq() pytrend.build_payload(kw_list=s_t) # Interest by Region df = pytrend.interest_by_region() country_penalty_dict = {} for i in df.iterrows(): country = i[0] total_penalty = 0 for s_t_idx in range(len(s_t)): search_intrest = i[1][s_t_idx] total_penalty += search_intrest * neg_terms[ s_t[s_t_idx]] #multiply the penalty by the search term intrest country_penalty_dict.update({country: total_penalty}) print("saving country_penalty_dict as", save_as) with open(save_as, 'wb+') as handle: pkl.dump(country_penalty_dict, handle, protocol=pkl.HIGHEST_PROTOCOL) return country_penalty_dict
from pytrends.request import TrendReq # Login to Google. Only need to run this once, the rest of requests will use the same session. pytrend = TrendReq() # Create payload and capture API tokens. Only needed for interest_over_time(), interest_by_region() & related_queries() pytrend.build_payload(kw_list=['pizza', 'bagel']) # Interest Over Time interest_over_time_df = pytrend.interest_over_time() print(interest_over_time_df.head()) # Interest by Region interest_by_region_df = pytrend.interest_by_region() print(interest_by_region_df.head()) # Related Queries, returns a dictionary of dataframes related_queries_dict = pytrend.related_queries() print(related_queries_dict) # Get Google Hot Trends data trending_searches_df = pytrend.trending_searches() print(trending_searches_df.head()) # Get Google Top Charts top_charts_df = pytrend.top_charts(cid='actors', date=201611) print(top_charts_df.head()) # Get Google Keyword Suggestions suggestions_dict = pytrend.suggestions(keyword='pizza')
def test_interest_by_region(self): pytrend = TrendReq() pytrend.build_payload(kw_list=['pizza', 'bagel']) self.assertIsNotNone(pytrend.interest_by_region())