如何使用 BeautifulSoup and/or selenium 从网页加载更多元素

How to load more element from web pages using BeautifulSoup and/or selenium

我想得到每个盒子包含的每个link,页面是https://www.quattroruote.it/listino/audi

这个网页里有这个品牌生产的所有模型,每个模型都是一个盒子,links到另一个页面(我应该使用的页面)。

我的问题是初始页面第一次没有加载所有框,您必须向下滚动并按红色按钮“Carica altri modelli”(这意味着“加载其他模型”)。 有没有一种方法可以自动将我需要的所有 link 存储在一个变量中?例如第一个框的前link是“/listino/audi/a1”

提前感谢任何试图帮助我的人!!

不确定您想要什么链接,但您可以通过 itemStart 参数迭代请求。

import requests
from bs4 import BeautifulSoup

for i in range(1,100):
    print('\t\tList 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'])