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

网页爬虫无法获取图片源:BeautifulSoup调用src报KeyError问题

解决无法获取图片src属性的问题

问题根源:你选中的.image元素并不是<img>标签,而是包裹图片的容器(比如<div>或<a>标签),这类容器标签本身没有src属性,src属性实际在容器内部的<img>子标签上。

修正方案

方案一:直接定位内部的img标签

使用CSS选择器直接选中.image类下的<img>元素,一步获取src:

import requests
import bs4

res2 = requests.get("https://en.wikipedia.org/wiki/Deep_Blue_(chess_computer)")
soup = bs4.BeautifulSoup(res2.text,'lxml')
# 直接选中.image类下的img标签
img_tag = soup.select(".image img")[0]
# 获取src属性
img_src = img_tag['src']
# 维基百科图片是相对路径,拼接为完整URL
full_img_url = f"https://en.wikipedia.org{img_src}"
print(full_img_url)

方案二:先获取容器再查找子img标签

如果需要先处理容器元素,再从中提取img标签:

import requests
import bs4

res2 = requests.get("https://en.wikipedia.org/wiki/Deep_Blue_(chess_computer)")
soup = bs4.BeautifulSoup(res2.text,'lxml')
# 获取.image容器
container = soup.select(".image")[0]
# 在容器内查找img标签
img_tag = container.find('img')
# 获取src属性
img_src = img_tag['src']
full_img_url = f"https://en.wikipedia.org{img_src}"
print(full_img_url)

补充提示

  • 调用tag['src']前可以先用img_tag.has_attr('src')判断属性是否存在,避免意外报错
  • 维基百科的图片src多为相对路径,必须拼接域名才能得到可直接访问的完整URL

内容的提问来源于stack exchange,提问作者Chermaine_lipoto

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 08:45:20