【问题标题】:How to load more element from web pages using BeautifulSoup and/or selenium如何使用 BeautifulSoup 和/或 selenium 从网页加载更多元素
【发布时间】:2021-12-02 21:42:07
【问题描述】:
我想获取每个框包含的每个链接,页面是https://www.quattroruote.it/listino/audi
在这个网页上有这个品牌生产的所有模型,每个模型都是一个链接到另一个页面(我应该使用的页面)的框。
我的问题是初始页面第一次没有加载所有的盒子,你必须向下滚动并按下红色按钮“Carica altri modelli”(意思是“加载其他模型” )。
有没有办法自动将我需要的所有链接存储在一个变量中?例如,第一个框的第一个链接是“/listino/audi/a1”
提前感谢任何试图帮助我的人!
【问题讨论】:
标签:
html
selenium
beautifulsoup
click
infinite-scroll
【解决方案1】:
不确定您想要什么链接,但您可以通过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'])