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

使用BeautifulSoup提取网页左侧灰色栏中的链接文本

解决方案

目标网页的左侧灰色栏并未使用表格布局,你需要调整定位逻辑,直接定位到灰色栏的容器,再从中提取链接文本。以下是修正后的代码:

import requests
from bs4 import BeautifulSoup

# 目标网页URL
url = "https://www.mountainproject.com/area/110928184/stuart-enchantments"
# 获取网页内容
response = requests.get(url)
# 解析HTML
soup = BeautifulSoup(response.text, 'html.parser')

# 定位左侧灰色栏容器:id为sidebar的div标签
sidebar_container = soup.find('div', id='sidebar')
# 提取容器内所有区域链接的标签(对应导航列表里的a标签)
area_links = sidebar_container.select('.mp-sidebar-section ul.nav-stacked li a')

# 按预期格式输出链接文本
for link in area_links:
    link_text = link.get_text(strip=True)
    # 判断是否为加粗项(对应网页里带strong标签的链接)
    if link.find_parent('strong'):
        print(f"** {link_text}")
    else:
        print(link_text)

代码说明:

  • 原代码中查找table的逻辑错误,网页左侧栏采用div+ul的列表结构实现,因此改为定位id="sidebar"的div作为容器。
  • 使用select方法精准定位导航列表内的a标签,确保只提取目标区域的链接。
  • 针对预期结果里的加粗项,通过判断链接是否被strong标签包裹,实现对应格式的输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 07:57:08