хотел создать программу, которая принимает название кроссовок, и выдаёт все варианты , которые нашлись на сайте. Код не работает, не понимаю почему
import re
import requests
from bs4 import BeautifulSoup
def FunkyDunky(small_name):
url = 'https://funkydunky.ru/search/?query=%D0%BE%D0%B1%D1%83%D0%B2%D1%8C'
brand = []
response = requests.get(url)
soup = BeautifulSoup(response.text, 'lxml')
names = soup.find_all('div', {'class':'product-title'})
prices = soup.find_all('b', class_ ='price-text')
for brand_name in names:
brand_name = brand_name.find('span', {'class': 'value'})
brand_name = brand_name.get_text(strip=True)
brand.append(brand_name)
for i in range(0, len(names)):
full_name = (brand[i] + names[i].text)
print(full_name)
if re.search(small_name,full_name):
print(brand[i] + ' ' + names[i].text + ' - ' + prices[i].text)
brand = input('Введите бренд кроссовок: ')
model = input('Введите модель кроссовок: ')
small_name = brand.title() + ' ' + model.upper()
FunkyDunky(small_name)
Ответы (1 шт):
Автор решения: McClawdy
→ Ссылка
Код ниже может вернуть нормальную страницу
import re
import requests
from bs4 import BeautifulSoup
from fake_useragent import UserAgent
def FunkyDunky(small_name):
url = 'https://funkydunky.ru/search/?query=%D0%BE%D0%B1%D1%83%D0%B2%D1%8C'
brand = []
ua = UserAgent()
headers = {'User-Agent': ua.random}
response = requests.get(
url,
headers=headers,
)
soup = BeautifulSoup(response.text, 'html.parser')
names = soup.find_all('div', {'class':'product-title'})
prices = soup.find_all('b', class_ ='price-text')