理想情况下,我有兴趣从本网站的男士部分中删除所有可用产品页面的所有产品信息:
https://www.adidas.de/manner-schuhe-sneakers
当我尝试使用此代码总结产品名称和URL时,它会停在页面上显示的前5项上,我不知道为什么:
import requests
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
import pandas as pd
url = 'https://www.adidas.de/manner-schuhe-sneakers'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36'}
driver = webdriver.Chrome()
driver.get(url)
soup = BeautifulSoup(requests.get(url, headers = headers).content, 'lxml')
driver.quit()
for a in soup.select('div[class^="product-container"] a.gl-product-card__assets-link'):
label = a.find_next(class_='gl-label')
print('{:<50} {}'.format(label.text, 'https://www.adidas.com' + a['href']))
结果如下。有人能帮我确保页面上的48个产品都被捕获吗?或者更好的是,有人能帮我弄清楚如何循环浏览每个产品,获取所有可用样式的样式名称、颜色、价格,然后单击“下一步”和“下一步”,直到获取所有产品信息为止:
Superstar Schuh https://www.adidas.com/superstar-schuh/FW2293.html
ZX 2K Boost Schuh https://www.adidas.com/zx-2k-boost-schuh/FV9996.html
NMD_R1 V2 Schuh https://www.adidas.com/nmd_r1-v2-schuh/FY6862.html
ZX 2K Boost Schuh https://www.adidas.com/zx-2k-boost-schuh/FV9993.html
NMD_R1 V2 Schuh https://www.adidas.com/nmd_r1-v2-schuh/FV9022.html
我建议使用
Xpaths
然后保存URL输出:
为什么要将URL保存到文件?好吧,这样你就不必一直抓取页面,你可以使用URL来查询API
输出:
编辑:
要获取所有鞋(截至目前),您可以尝试此操作,然后运行通过API获取信息的代码:
这将输出一个文件,其中包含指向所有鞋的URL
相关问题 更多 >
编程相关推荐