You need to enable JavaScript to run this app. 如何使用BeautifulSoup提取class为graph的ul下li中a的href链接
优惠活动
大模型
产品
解决方案
定价
更多

如何使用BeautifulSoup提取class为graph的ul下li中a的href链接

目标href提取实现方案

针对你给出的HTML结构,按如下逻辑调整代码即可稳定提取对应链接,之前方法失效通常是两个常见操作误区导致的。

可直接复用的代码

from bs4 import BeautifulSoup as soup
import requests

# 替换为实际目标页面地址
url = "目标页URL"
page = requests.get(url)
content = soup(page.content, "html.parser")

# 逐层锚定目标容器,避免抓取到页面其他位置的无关a标签
target_list = content.find("div", class_="body").find("ul", class_="graph")
# 获取容器下所有a标签元素
a_elements = target_list.find_all("a")
# 遍历元素列表提取href属性
href_results = [element.get("href") for element in a_elements]

# 运行后输出结果为 ['Address one', 'Address two', 'Address three']
print(href_results)

之前操作失效的常见原因

  • 直接对find_all("a")的返回结果调用get("href"):find_all返回的是匹配到的标签元素组成的列表,不是单个标签对象,本身不支持调用get方法,必须循环遍历列表中的每一个独立标签,才能正常读取标签的属性值
  • 未限定抓取范围:如果直接对整个页面调用find_all("a"),可能匹配到其他位置没有href属性的标签,读取属性时会返回空值
  • 目标内容为前端动态渲染生成:如果目标ul列表是页面加载后通过JS动态插入的,requests直接获取的原始HTML中不包含这部分结构,调用find_all自然返回空列表,此时需要调整请求方式拿到完整渲染后的页面内容再做解析

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.09 21:24:10