Update app.py
Browse files
app.py
CHANGED
@@ -1,5 +1,6 @@
|
|
1 |
import streamlit as st
|
2 |
-
|
|
|
3 |
|
4 |
def fetch_google_maps_results(query=None, search_type="search"):
|
5 |
if not query:
|
@@ -14,25 +15,19 @@ def fetch_google_maps_results(query=None, search_type="search"):
|
|
14 |
"q": query
|
15 |
}
|
16 |
|
|
|
|
|
17 |
|
|
|
18 |
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
search = GoogleSearch(params)
|
23 |
-
results = search.get_dict()
|
24 |
-
return results
|
25 |
|
26 |
st.title("Google Maps API Search via SerpAPI")
|
27 |
st.write("Enter a search query to fetch results from Google Maps.")
|
28 |
|
29 |
# Input field
|
30 |
-
|
31 |
query = st.text_input("Search Query (q): (Use for regular Google Maps search)")
|
32 |
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
# Button to trigger the API call
|
37 |
if st.button("Search"):
|
38 |
if not query:
|
@@ -40,6 +35,19 @@ if st.button("Search"):
|
|
40 |
else:
|
41 |
try:
|
42 |
results = fetch_google_maps_results(query=query)
|
43 |
-
|
44 |
-
|
45 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
import streamlit as st
|
2 |
+
import requests
|
3 |
+
from requests.exceptions import HTTPError
|
4 |
|
5 |
def fetch_google_maps_results(query=None, search_type="search"):
|
6 |
if not query:
|
|
|
15 |
"q": query
|
16 |
}
|
17 |
|
18 |
+
response = requests.get("https://serpapi.com/search", params=params)
|
19 |
+
response.raise_for_status() # Raise HTTPError for bad response
|
20 |
|
21 |
+
jsonResponse = response.json() # Parse JSON content
|
22 |
|
23 |
+
return jsonResponse
|
|
|
|
|
|
|
|
|
|
|
24 |
|
25 |
st.title("Google Maps API Search via SerpAPI")
|
26 |
st.write("Enter a search query to fetch results from Google Maps.")
|
27 |
|
28 |
# Input field
|
|
|
29 |
query = st.text_input("Search Query (q): (Use for regular Google Maps search)")
|
30 |
|
|
|
|
|
|
|
31 |
# Button to trigger the API call
|
32 |
if st.button("Search"):
|
33 |
if not query:
|
|
|
35 |
else:
|
36 |
try:
|
37 |
results = fetch_google_maps_results(query=query)
|
38 |
+
# Display user reviews
|
39 |
+
user_reviews = results.get("user_reviews", [])
|
40 |
+
if user_reviews:
|
41 |
+
st.write("User Reviews:")
|
42 |
+
for review in user_reviews:
|
43 |
+
st.write("Username:", review["username"])
|
44 |
+
st.write("Rating:", review["rating"])
|
45 |
+
st.write("Description:", review["description"])
|
46 |
+
st.write("Date:", review["date"])
|
47 |
+
st.write("---")
|
48 |
+
else:
|
49 |
+
st.write("No user reviews found.")
|
50 |
+
except HTTPError as http_err:
|
51 |
+
st.error(f'HTTP error occurred: {http_err}')
|
52 |
+
except Exception as err:
|
53 |
+
st.error(f'Other error occurred: {err}')
|