Не могу спарсить ссылки вида https://www.wildberries.ru/catalog/0/search.aspx

Мне нужно получить список ссылок на все карточки товаров с этой страницы. Но я их не вижу в переменной soup

Почему так происходит и что нужно сделать, чтобы их получить?

Вот мой код:

import requests
from bs4 import BeautifulSoup
URL = 'https://www.wildberries.ru/catalog/0/search.aspx?search=очки+лупа'
HEADERS = { 'Accept':     'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
            'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36'  }
response = requests.get(URL,  headers=HEADERS)

soup = BeautifulSoup(response.text, 'html.parser')

for link in soup.find_all('a'):
    print(link.get('href'))

Ответы (1 шт):

Автор решения: Skryppy

response.text не содержит ваших данных. Попробуйте использовать библиотеку requests-html и вызвать там функцию render. Модифицировал ваш код:

from bs4 import BeautifulSoup
from requests_html import HTMLSession

url = 'https://www.wildberries.ru/catalog/0/search.aspx?search=очки+лупа'

session = HTMLSession()

response = session.get(url)
response.html.render(sleep=3, keep_page=True, scrolldown=2)

soup = BeautifulSoup(response.html.raw_html, "html.parser")

for link in soup.find_all('a'):
    print(link.get('href'))
→ Ссылка