Парсер. Запрос на страницу с категорией товара выдаёт HTML-код главной страницы
Есть вот такой код, по итогам работы которого получаем ссылку на категорию товаров. Переход по полученной ссылке корректен, открывает в браузере нужную страницу. Но при запросе по полученной ссылке, выдаёт HTML-код главной страницы. И это, в свою очередь, слегка затрудняет дальнейшее развитие событий, к примеру, получение ссылок на подкатегории.
import requests
from bs4 import BeautifulSoup
from time import sleep
import random
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36'}
def category():
url = 'https://by.wildberries.ru/'
response = requests.get(url, headers=headers).text
soup = BeautifulSoup(response, 'lxml')
category_card = soup.find('ul', class_='menu-burger__main-list')
category_all = category_card.find_all('li')
for cat in category_all:
text = cat.find('a').text
url = cat.find('a').get('href')
yield text, url
def choise():
category_dict = []
timeout = [1,2,3,4,5]
sleep(random.choice(timeout))
for text, url in category():
category_dict.append({'text': text, 'url': url})
return category_dict
def input_choise():
url_category = ''
category_keys = []
for i in choise():
category_keys.append(i['text'])
while True:
print("\n".join(category_keys) + '\n\n' )
enter = input('Введите название категории, из предложенных:')
if enter in category_keys:
break
else:
print('Вы допустили ошибку при вводе. Попробуйте ещё раз!!!\n\n')
for i in choise():
if i['text'] == enter:
url_category = i['url']
return url_category
Собственно, есть желание понять - что сделано не так, и, что нужно сделать, чтобы мой процесс самообучения мог продолжиться=)
Вообще задумка такая: пользователю предлагается выбрать какую именно категорию и подкатегорию нужно спарсить. То есть джинсы, из категории "женщинам" и так далее.