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

如何使用Python+BeautifulSoup提取维基百科页面创建日期

维基百科info页创建日期提取方案

核心定位逻辑

别做全页文本匹配的无用功,维基百科基于MediaWiki搭建,?action=info页的所有元数据字段都带固定元素id,是程序渲染时自动生成的,不会随页面内容变动,直接锚定对应id就能100%精准定位目标内容,完全不受冗余文本干扰。
页面创建日期对应的固定元素id为mw-pageinfo-firsttime,直接找这个元素就行。

实现步骤

  • 发起请求时必须携带合法User-Agent请求头,无UA的请求会被维基百科反爬规则拦截,返回错误页面导致解析失败
  • 用BeautifulSoup直接查找id为mw-pageinfo-firsttime的表格行元素
  • 提取该行内第二个<td>标签内的文本,做简单去空白处理即可得到纯净的页面创建日期

可直接运行的代码示例

import requests
from bs4 import BeautifulSoup

target_url = "https://en.wikipedia.org/wiki/United_States?action=info"
# 配置合法请求头
request_headers = {
    "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36"
}

response = requests.get(target_url, headers=request_headers)
response.raise_for_status() # 请求失败时直接抛出异常,避免解析错误页面
soup = BeautifulSoup(response.text, "html.parser")

# 精准定位创建日期所在行
page_create_row = soup.find(id="mw-pageinfo-firsttime")
# 提取日期值
page_create_date = page_create_row.find_all("td")[1].get_text(strip=True)

print(page_create_date)
# 运行输出参考:20 January 2001, at 19:27

注意事项

  • 别用正则全页扫日期,info页里混着最后编辑时间、缓存生成时间、模板更新时间等一堆时间字段,文本匹配的误判率极高,抓固定id是最稳的方案
  • 如果需要结构化时间对象,直接拿提取到的字符串用python-dateutil的解析方法转成datetime对象就行,不用写复杂正则
  • 批量提取时注意控制请求频率,遵守维基百科的爬虫规则,避免对服务器造成不必要的压力

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 05:48:28