Files
lidl-price-scraper/scrape.py
2024-01-30 18:08:40 +01:00

32 lines
1.0 KiB
Python

import requests
from bs4 import BeautifulSoup
from tabulate import tabulate
def fetch_product_info(urls):
product_info = []
for url in urls:
response = requests.get(url)
if response.status_code == 200:
soup = BeautifulSoup(response.text, 'html.parser')
product_name = soup.find('h1', class_='keyfacts__title').text.strip()
product_price = soup.find('div', class_='m-price__price').text.strip()
product_info.append([product_name, product_price, url])
else:
print(f"Failed to fetch URL: {url}")
return product_info
def print_product_table(product_info):
headers = ["Product Name", "Price", "URL"]
print(tabulate(product_info, headers=headers, tablefmt="grid"))
if __name__ == "__main__":
urls = [
"https://www.lidl.cz/p/p100370600",
"https://www.lidl.cz/p/p100358513",
"https://www.lidl.cz/p/p100336045",
]
product_info = fetch_product_info(urls)
print_product_table(product_info)