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

如何用BeautifulSoup提取维基段落内容并标记含链接文本

解决方案

当然可以实现同时提取段落文本并标记其中的维基链接词汇,具体代码如下:

from urllib import request
from bs4 import BeautifulSoup

# 获取页面内容并解析
soup = BeautifulSoup(request.urlopen("https://en.wikipedia.org/wiki/Lana_Del_Rey").read(), "html.parser")

# 遍历所有段落标签
for p_tag in soup.select('p'):
    result = []
    # 遍历段落内的每个子节点
    for node in p_tag.contents:
        if node.name == 'a' and node.get('href', '').startswith('/wiki/'):
            # 对符合条件的链接文本添加标记
            result.append(f"START_A {node.text.strip()} END_A")
        elif node.string:
            # 普通文本直接添加
            result.append(node.string.strip())
    # 拼接成完整段落并输出
    full_text = ' '.join(result)
    if full_text:
        print(f"<p>{full_text}</p>")

代码说明

  • 核心逻辑是遍历每个<p>标签的所有子节点,区分普通文本节点和符合要求的<a>标签节点
  • 仅对href以/wiki/开头的链接文本添加START_A和END_A标记
  • 最后将所有节点内容拼接成完整的段落文本,保留原语义结构

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 16:46:03