You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从指定class的元素中爬取全部图片链接?

如何仅获取class为"a"的元素中的图片链接

你可以通过两种方式限定图片的抓取范围,只获取class为a的div元素内的图片:

方法一:先定位目标父元素,再遍历内部图片

先找到所有class为a的div,再在每个div内部查找img标签,这样就能排除其他class下的图片:

images = []
# 筛选所有class为"a"的div
for div in soup.findAll('div', class_='a'):
    # 在当前div内查找所有img标签
    for img in div.findAll('img'):
        # 这里可以根据需求选择src或data-src属性
        images.append(img.get('src'))
        # 如果需要真实大图(示例中data-src是原图链接),替换为:
        # images.append(img.get('data-src'))

print(images)

方法二:使用CSS选择器直接定位(更简洁)

利用BeautifulSoup支持的CSS选择器,直接定位class为a的div下的所有img标签:

# 选择class为a的div下的所有img,提取src属性
images = [img.get('src') for img in soup.select('div.a img')]
# 若要提取data-src属性,改为:
# images = [img.get('data-src') for img in soup.select('div.a img')]

print(images)

补充说明

你原来的代码soup.findAll('img')会匹配页面上所有img标签,没有限定父元素范围,所以会包含class为bcd的div里的图片。上面两种方法都通过限定父元素为classa的div,实现了精准抓取。

内容的提问来源于stack exchange,提问作者Thụ Nguyễn Văn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 18:05:15