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

BeautifulSoup4如何同时提取并打印文本内容与href属性?

解决方法:同时提取文章标题与对应URL

嘿,我来帮你搞定这个问题!你已经找对了目标h2标签的选择器,但文章的标题文本和URL其实都嵌套在h2标签内部的<a>元素里,咱们只需要再深入一步提取就行。

修正后的完整代码

from urllib.request import urlopen
from bs4 import BeautifulSoup

page = urlopen("https://cyware.com/cyber-security-news-articles")
soup = BeautifulSoup(page, 'html5lib')
# 定位到包含文章信息的h2标签集合
questions = soup.find_all('h2', {"class": "post post-v2 format-image news-card get-id"})

for h2 in questions:
    # 从每个h2中找到嵌套的<a>标签(这才是存储标题和链接的容器)
    link_tag = h2.find('a')
    if link_tag:  # 增加判断,避免因无a标签导致报错
        # 提取文章标题文本,strip=True去除多余空格和换行
        article_title = link_tag.get_text(strip=True)
        # 提取文章对应的URL
        article_url = link_tag['href']
        # 格式化打印结果
        print(f"文章标题: {article_title}")
        print(f"文章链接: {article_url}")
        print("------------------------")

关键步骤解释

  • h2.find('a'):从每个目标h2标签中定位到内部的<a>元素,标题文本和链接都存放在这里。
  • get_text(strip=True):高效提取标签内的纯文本,同时自动清理文本前后的空白字符,让输出更整洁。
  • link_tag['href']:直接获取<a>标签的href属性值,也就是文章的完整链接。
  • 增加if link_tag:判断:确保代码不会因为个别h2标签结构异常(比如没有嵌套a标签)而抛出错误,提升代码的健壮性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:57:14