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

使用Beautiful Soup爬取网页:处理Attribute Error并返回对应结果

解决Beautiful Soup爬取网页的Attribute Error问题

爬取网页时部分条目缺少目标信息,导致调用Beautiful Soup方法时触发Attribute Error,可通过精准异常捕获实现需求:正常获取到数据时返回信息+图片链接,异常时返回指定提示。

修正后的实现代码

from bs4 import BeautifulSoup
import requests

def crawl_target_content(soup):
    try:
        # 示例:获取信息文本(根据实际网页标签调整)
        info = soup.find('div', class_='target-info').get_text(strip=True)
        # 示例:获取图片链接(根据实际网页img标签调整)
        img_url = soup.find('img', class_='item-image')['src']
        return [info, img_url]
    except AttributeError:
        # 捕获标签不存在或属性缺失导致的异常
        return ["数据不可用,该条目缺少所需信息"]

# 实际调用示例
target_url = "你要爬取的网页URL"
resp = requests.get(target_url)
soup = BeautifulSoup(resp.text, 'html.parser')
# 若爬取多个条目,可循环遍历soup.find_all的结果
result = crawl_target_content(soup)
print(result)

关键说明

  1. 精准捕获异常:只捕获AttributeError,避免掩盖其他未知错误(比如网络请求异常)
  2. 逻辑顺序:先尝试获取核心信息,再获取图片,任一环节触发AttributeError则直接返回提示
  3. 适配实际网页:代码中find的参数(class_、标签名)需根据目标网页的实际结构调整

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 13:25:31