#html #selenium #beautifulsoup #click #infinite-scroll
Вопрос:
Я хотел бы получить каждую ссылку, содержащуюся в каждом поле, страница https://www.quattroruote.it/listino/audi
На этой веб-странице представлены все модели, которые производит этот бренд, и каждая модель представляет собой коробки, которые ссылаются на другую страницу (ту, с которой я должен работать).
Моя проблема в том, что на начальной странице не загружаются все поля с первого раза, вам нужно прокрутить вниз и нажать красную кнопку «Carica altri modelli» (что означает «Загрузить другие модели»). Есть ли способ автоматически сохранить в одной переменной все нужные мне ссылки? Например, первые ссылки в первом поле «/listino/audi/a1»
Заранее спасибо всем, кто пытается мне помочь!!
Ответ №1:
Не уверен, какие именно ссылки вам нужны, но вы можете выполнять запросы, повторяя этот itemStart
параметр.
import requests
from bs4 import BeautifulSoup
for i in range(1,100):
print('ttList start %s' %i)
url = 'https://www.quattroruote.it/listino/ricerca-more-desktop.html'
payload = {
'area': 'NEW',
'itemStart': '%s' %(i*8),
'_': '1634219611449'}
response = requests.get(url, params=payload)
soup = BeautifulSoup(response.text, 'html.parser')
links = soup.find_all('a', href=True)
for link in links:
print(link['href'])