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

如何使用SPARQL查询提取维基百科列表信息,获取正在发生的武装冲突列表

提取正在进行的武装冲突列表方案

页面定位规则

  • 目标页的所有冲突列表都存放在类名为wikitable sortable的表格中,可直接通过DOM节点的class属性定位。
  • 该页面本身是专门收录进行中武装冲突的专题页,默认所有表格内条目均为正在进行状态,无需额外筛选。若你是从包含历史冲突的全量列表页提取,可定位表格中Status列,匹配包含Ongoing关键词的条目即可。

可直接运行的Python实现示例

import requests
from bs4 import BeautifulSoup
import pandas as pd

# 配置请求头避免反爬拦截
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"
}
# 填入目标页面地址即可
page_url = "目标页面URL"
response = requests.get(page_url, headers=headers)
soup = BeautifulSoup(response.text, "html.parser")

# 定位所有冲突表格
conflict_tables = soup.find_all("table", class_="wikitable sortable")
all_conflicts = pd.DataFrame()

# 遍历表格合并全量数据
for table in conflict_tables:
    table_df = pd.read_html(str(table))[0]
    all_conflicts = pd.concat([all_conflicts, table_df], ignore_index=True)

# 若需额外筛选进行中条目可取消下方注释
# all_conflicts = all_conflicts[all_conflicts["Status"].str.contains("Ongoing", na=False)]

# 输出最终结果
print(all_conflicts.to_csv(sep="\t", na_rep="无"))

注意事项

  • 若页面更新后表格结构变化,可先打印表格的th节点内容确认表头字段,调整筛选逻辑即可
  • 维基百科对高频请求有访问限制,建议控制请求频率不要高于1次/秒

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 10:27:03