Add first version
This commit is contained in:
3
requirements.txt
Normal file
3
requirements.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
requests
|
||||
beautifulsoup4
|
||||
tabulate
|
||||
32
scrape.py
Normal file
32
scrape.py
Normal file
@@ -0,0 +1,32 @@
|
||||
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)
|
||||
Reference in New Issue
Block a user