Update app.py
Browse files
app.py
CHANGED
|
@@ -17,8 +17,12 @@ class pytrendsExpander:
|
|
| 17 |
kw_list = [self.keyword]
|
| 18 |
pytrends.build_payload(kw_list, cat=0, timeframe='today 1-m', geo='US', gprop='')
|
| 19 |
queries = pytrends.related_queries()
|
| 20 |
-
|
| 21 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22 |
|
| 23 |
pytrends = TrendReq(hl='en-US', tz=360)
|
| 24 |
|
|
@@ -94,16 +98,20 @@ if kw_list:
|
|
| 94 |
st.write(f"Related to '{keyword}':")
|
| 95 |
expander = pytrendsExpander(keyword)
|
| 96 |
related_df = expander.expand_search(10)
|
| 97 |
-
st.write(related_df)
|
| 98 |
|
| 99 |
-
|
| 100 |
-
|
| 101 |
-
|
| 102 |
-
|
| 103 |
-
|
| 104 |
-
|
| 105 |
-
|
| 106 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 107 |
|
| 108 |
st.subheader('Geographical Interest')
|
| 109 |
interest_by_region = pytrends.interest_by_region(resolution='COUNTRY', inc_low_vol=True, inc_geo_code=True)
|
|
|
|
| 17 |
kw_list = [self.keyword]
|
| 18 |
pytrends.build_payload(kw_list, cat=0, timeframe='today 1-m', geo='US', gprop='')
|
| 19 |
queries = pytrends.related_queries()
|
| 20 |
+
|
| 21 |
+
if self.keyword in queries and queries[self.keyword] is not None:
|
| 22 |
+
top_queries = queries[self.keyword].get('top')
|
| 23 |
+
if top_queries is not None and not top_queries.empty:
|
| 24 |
+
df_results = top_queries.rename_axis('ranking').reset_index()
|
| 25 |
+
return df_results.head(m)
|
| 26 |
|
| 27 |
pytrends = TrendReq(hl='en-US', tz=360)
|
| 28 |
|
|
|
|
| 98 |
st.write(f"Related to '{keyword}':")
|
| 99 |
expander = pytrendsExpander(keyword)
|
| 100 |
related_df = expander.expand_search(10)
|
|
|
|
| 101 |
|
| 102 |
+
if not related_df.empty:
|
| 103 |
+
st.write(related_df)
|
| 104 |
+
|
| 105 |
+
# Generate and display word cloud only if we have data
|
| 106 |
+
wordcloud = WordCloud(width=800, height=400, background_color='white').generate_from_frequencies(
|
| 107 |
+
dict(zip(related_df['query'], related_df['value']))
|
| 108 |
+
)
|
| 109 |
+
fig, ax = plt.subplots(figsize=(10, 5))
|
| 110 |
+
ax.imshow(wordcloud, interpolation='bilinear')
|
| 111 |
+
ax.axis('off')
|
| 112 |
+
st.pyplot(fig)
|
| 113 |
+
else:
|
| 114 |
+
st.write(f"No related queries found for '{keyword}'.")
|
| 115 |
|
| 116 |
st.subheader('Geographical Interest')
|
| 117 |
interest_by_region = pytrends.interest_by_region(resolution='COUNTRY', inc_low_vol=True, inc_geo_code=True)
|