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

使用Python+bs4提取NCBI跳转链接中基因指定数据的问题求助

NCBI基因Summary信息提取实现

修正后可运行代码

import requests
from bs4 import BeautifulSoup

# 添加请求头避免被NCBI反爬机制拦截
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36'
}

gen_ids = ['APOE','SLC7A11']

for gen in gen_ids:
    print(f"===== 处理基因:{gen} =====")
    # 构造基因搜索请求URL
    search_url = f"https://www.ncbi.nlm.nih.gov/gene/?term={gen}"
    r = requests.get(search_url, headers=headers, allow_redirects=True)
    # 直接获取跳转后的最终基因详情子URL
    final_url = r.url
    print(f"跳转后详情页URL:{final_url}")
    
    # 解析页面提取Summary内容
    soup = BeautifulSoup(r.text, 'lxml')
    summary = soup.find('div', class_='summary')
    if summary:
        print("Summary内容:")
        print(summary.get_text(strip=True))
    else:
        print("未找到对应Summary内容")
    print("\n")

调整说明

  • 新增请求头模拟浏览器访问,解决NCBI拦截默认requests请求、返回非正常页面的问题
  • 无需单独解析href属性,直接通过请求返回对象的url属性即可获取跳转后的最终详情页URL
  • NCBI基因详情页的Summary内容对应class为summary的div标签,直接定位该元素即可提取对应文本

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

相关产品推荐
方舟 Agent Plan

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

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