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

如何抓取ibbi.gov.in站点表格内的PDF链接及其他关联业务数据

问题原因及修复方案

你当前代码无法获取PDF链接的核心问题有两点:

  • 你直接打印、存储的是Selenium的WebElement对象,没有提取链接对应的href属性值
  • 分开遍历不同列的元素容易出现行数不匹配的问题,部分行如果没有PDF链接会导致列表顺序错位

稳定优化版代码方案

建议直接按表格行遍历,逐行提取对应字段,可避免行数据错位问题,同时兼容部分行无PDF链接的场景:

# 先获取所有表格行元素
rows = driver.find_elements_by_xpath('/html/body/div[5]/div/div/div/div/div/div/div/div[2]/table/tbody/tr')

Name_ = []
Date_ = []
EventType_ = []
EvidenceLink_ = []

for row in rows:
    # 逐行提取对应字段内容
    company_name = row.find_element_by_xpath('./td[4]').text
    date = row.find_element_by_xpath('./td[2]').text
    event_type = row.find_element_by_xpath('./td[1]').text
    # 提取PDF链接,捕获无链接的异常避免程序中断
    try:
        evidence_link = row.find_element_by_xpath('./td[7]/a').get_attribute('href')
    except:
        evidence_link = ''
    
    # 存入对应列表
    Name_.append(company_name)
    Date_.append(date)
    EventType_.append(event_type)
    EvidenceLink_.append(evidence_link)

    # 可打印验证输出结果
    print(company_name, date, event_type, evidence_link)

现有代码最小改动方案

如果你不想调整原有代码结构,只需要修改最后遍历EvidenceLink的部分即可:

for i in range(len(EvidenceLink)):
    # 提取a标签的href属性获取真实PDF链接
    pdf_url = EvidenceLink[i].get_attribute('href')
    print(pdf_url)
    EvidenceLink_.append(pdf_url)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 23:39:01