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

如何用Python爬取页面所有<a>标签数据并提取页面全部ID

爬虫代码调整方案

核心调整点

  • 修复基础语法错误:原代码最后一行prind(pd)为笔误,需改为print(df),否则会直接触发运行报错
  • 优化元素定位规则:原代码直接抓取页面所有<a>标签会混入大量无关链接内容,目标Bug ID对应的链接href均包含/show_bug.cgi?id=前缀,可通过该特征精准过滤目标元素
  • 补充请求头配置:模拟浏览器UA标识,避免被网站反爬策略拦截,返回非正常页面内容

修正后完整可运行代码

import requests
import pandas as pd
from bs4 import BeautifulSoup

# 模拟浏览器请求头,避免反爬拦截
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
}
url = "https://bugzilla.mozilla.org/buglist.cgi?quicksearch=all"
resp = requests.get(url, headers=headers)
soup = BeautifulSoup(resp.content, "html.parser")

data = []
# 精准匹配Bug ID对应的链接
id_links = soup.find_all("a", href=lambda x: x and "/show_bug.cgi?id=" in x)
for link in id_links:
    bug_id = link.text.strip()
    # 过滤非纯数字的无效ID
    if bug_id.isdigit():
        data.append({"ID": bug_id})

df = pd.DataFrame(data)
print(df)

运行上述代码即可输出页面中所有Bug ID的结构化数据表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 19:57:04