from flask import Flask, render_template, request import requests from bs4 import BeautifulSoup app = Flask(__name__) @app.route('myapp') def index(): return render_template('index.html') @app.route('/compare', methods=['POST']) def compare(): urls = request.form.getlist('url') products = [] for url in urls: response = requests.get(url) soup = BeautifulSoup(response.content, 'html.parser') # Extract product details name = soup.find('h1').text.strip() price = soup.find('span', {'class': 'a-price-whole'}).text.strip() specs = [spec.text.strip() for spec in soup.findAll('div', {'class': 'a-section a-spacing-small'})] # Extract pros and cons pros = [pro.text.strip() for pro in soup.findAll('span', {'class': 'a-icon-alt'}) if 'pro' in pro.text.lower()] cons = [con.text.strip() for con in soup.findAll('span', {'class': 'a-icon-alt'}) if 'con' in con.text.lower()] product = { 'name': name, 'price': price, 'specs': specs, 'pros': pros, 'cons': cons } products.append(product) return render_template('compare.html', products=products) if __name__ == '__main__': app.run(debug=True)

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top