所以我试图用BeautifulSoup抓取这个网站的产品图像。问题是,当我使用图像类来选择src时,我得到错误:TypeError: list indices must be integers or slices, not str
.
这是我的:
images = soup.find_all('img', {'class': 'css-1rovmyu e65zztl0'})['src'] # gives error ^
当我这样做的时候:
images = soup.find_all('img')
for image in images:
print(image['src'])
它返回所有的图像src的工作正常。我正在阅读另一个问题类似的好,它说的事实,图像是嵌套可能是问题,但它没有工作。这是结构:
<picture class="css-yq9732">
<img class="css-1rovmyu e65zztl0" src="image src">
</picture>
images
是list
,您必须访问列表的索引并提取值。例如:
images = soup.find_all('img', {'class': 'css-1rovmyu e65zztl0'})
print(images[0]["src"])
或者只获得第一个标签,使用find()
而不是find_all()