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

Python爬虫疑问:如何获取Justia页面中无明显标识的案件URL?

如何提取Justia案件搜索页中的案件URL?

你已经能成功获取case_number,要提取案件对应的URL,只需定位到目标<a>标签(class为case-name),再获取其href属性即可,原代码的错误在于未正确定位标签且属性获取方式有误。

修正后的代码

from bs4 import BeautifulSoup
import requests

html_text = requests.get("https://dockets.justia.com/search?parties=Novo+Nordisk").text
soup = BeautifulSoup(html_text, "lxml")
cases = soup.find_all("div", class_ = "has-padding-content-block-30 -zb")

for case in cases:
    # 获取案件编号
    case_number = case.find("span", class_ = "citation").text.replace(" ","").strip()
    # 定位到包含URL的a标签
    case_link = case.find("a", class_ = "case-name")
    # 提取href属性,用get方法避免标签不存在时报错
    case_url = case_link.get("href") if case_link else "未找到URL"
    
    print(f"Case No.: {case_number}")
    print(f"Case URL: {case_url}")
    print("")

关键说明

  • 用case.find("a", class_ = "case-name")精准定位到包含案件URL的<a>标签
  • 使用.get("href")获取属性值,比直接用["href"]更安全,当标签不存在时不会抛出异常,而是返回None(这里添加了判断,返回友好提示)
  • 保留了你原本获取case_number的逻辑,仅补充URL提取部分

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 22:42:24