harshdhane commited on
Commit
ba01da7
·
verified ·
1 Parent(s): 03e60f2

Update scraper.py

Browse files
Files changed (1) hide show
  1. scraper.py +56 -0
scraper.py CHANGED
@@ -134,3 +134,59 @@ def search_product(query):
134
  })
135
 
136
  return combined
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
134
  })
135
 
136
  return combined
137
+
138
+
139
+ def search_product_with_progress(query):
140
+ """Search products with progress tracking - this is for demo purposes"""
141
+ import requests
142
+
143
+ # Simulate progress tracking by calling each scraper individually
144
+ amazon_products = [{"source": "Amazon", **p} for p in scrape_amazon(query)]
145
+ one_mg_products = [{"source": "1mg", **p} for p in scrape_1mg(query)]
146
+ netmeds_products = [{"source": "Netmeds", **p} for p in scrape_netmeds(query)]
147
+ pharmeasy_products = [{"source": "PharmEasy", **p} for p in scrape_pharmeasy(query)]
148
+
149
+ # Combine results
150
+ combined = []
151
+ max_len = max(len(amazon_products), len(one_mg_products),
152
+ len(netmeds_products), len(pharmeasy_products))
153
+
154
+ for i in range(max_len):
155
+ combined.append({
156
+ "name": (
157
+ amazon_products[i]["name"] if i < len(amazon_products) else
158
+ one_mg_products[i]["name"] if i < len(one_mg_products) else
159
+ netmeds_products[i]["name"] if i < len(netmeds_products) else
160
+ pharmeasy_products[i]["name"] if i < len(pharmeasy_products) else
161
+ ""
162
+ ),
163
+ "img": (
164
+ amazon_products[i]["img"] if i < len(amazon_products) else
165
+ one_mg_products[i]["img"] if i < len(one_mg_products) else
166
+ netmeds_products[i]["img"] if i < len(netmeds_products) else
167
+ pharmeasy_products[i]["img"] if i < len(pharmeasy_products) else
168
+ ""
169
+ ),
170
+ "amazon": amazon_products[i] if i < len(amazon_products) else {},
171
+ "one_mg": one_mg_products[i] if i < len(one_mg_products) else {},
172
+ "netmeds": netmeds_products[i] if i < len(netmeds_products) else {},
173
+ "pharmeasy": pharmeasy_products[i] if i < len(pharmeasy_products) else {},
174
+ })
175
+
176
+ # Fetch side effects
177
+ api_url = f'https://api.fda.gov/drug/event.json?api_key=ah8n0nI6468qpS6cMfqvBM0sdGs4nO1sT3Ie7LjJ&search=patient.drug.medicinalproduct:"{query}"'
178
+ try:
179
+ response = requests.get(api_url)
180
+ data = response.json()
181
+ if data.get('results'):
182
+ side_effects = [
183
+ reaction.get('reactionmeddrapt', 'N/A')
184
+ for reaction in data['results'][0].get('patient', {}).get('reaction', [])
185
+ ]
186
+ else:
187
+ side_effects = ["No side effects found."]
188
+ except Exception as e:
189
+ print(f"Error fetching data: {e}")
190
+ side_effects = ["Error fetching data. Please try again."]
191
+
192
+ return combined, side_effects