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

使用BeautifulSoup提取div中指定下载链接及_2qbpz类补充信息

解决方法

你可以通过关联下载链接与对应文件名的公共父容器,同时提取两个信息,修改后的完整代码如下:

import requests
from bs4 import BeautifulSoup

URL = "https://figshare.com/articles/dataset/Multi-channel_EEG_recordings_during_a_sustained-attention_driving_task_preprocessed_dataset_/7666055/3"
page = requests.get(URL)

soup = BeautifulSoup(page.content, "html.parser")

for link in soup.find_all('a', href=True):
    download_url = link['href']
    if 'https://figshare.com/ndownloader/files' in download_url:
        # 向上查找公共父容器
        parent_container = link.parent.parent
        # 提取文件名信息
        file_name_tag = parent_container.find('span', class_='_2qbpz')
        file_name = file_name_tag.text.strip() if file_name_tag else "未获取到文件名"
        # 输出结果
        print(f"文件名:{file_name},下载链接:{download_url}")

实现逻辑

  • 你提供的HTML结构中,每个下载链接和对应文件名都包裹在同一个class="_2bEHu"的父容器内
  • 找到符合条件的下载链接后,向上追溯两层父元素即可定位到公共容器
  • 查找容器内class="_2qbpz"的span元素就能拿到对应的补充信息,额外加了空判断避免部分节点异常导致报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 02:12:02