如何通过Python库从维基百科URL获取页面摘要,无需自行编写爬虫
可用的Python库解决方案
有多个成熟的第三方Python库可以直接提取维基百科页面摘要,无需自行编写爬虫解析逻辑,以下是最常用的两种实现方案:
方案1:使用 wikipedia-api 库(推荐,多语言支持完善)
这个库是对维基百科官方API的封装,支持自定义语言、直接提取摘要、页面链接等多种信息,无需手动解析HTML。
安装方式
pip install wikipedia-api
使用示例(适配你的场景)
你既可以直接通过已经获取的URL提取页面标题和语言来查询,也可以直接用Wikidata ID跳过获取URL的步骤直接查询:
import wikipediaapi # 适配你的阿拉伯语示例场景 wiki_wiki = wikipediaapi.Wikipedia( language='ar', extract_format=wikipediaapi.ExtractFormat.WIKI ) # 方式1:通过你已获取的URL提取页面标题查询 # 你的URL是https://ar.wikipedia.org/wiki/ياسر_عرفات,提取/wiki/后的部分作为标题 page = wiki_wiki.page("ياسر_عرفات") # 直接获取完整摘要 print(page.summary) # 方式2:可直接对接Wikidata ID查询,无需额外调用你之前写的URL获取函数 from wikibase_api import Wikibase wb = Wikibase() r = wb.entity.get("Q34211") ar_title = r["entities"]["Q34211"]["sitelinks"]["arwiki"]["title"] page = wiki_wiki.page(ar_title) print(page.summary)
输出的内容就是你需要的阿拉伯语完整摘要,和你给出的示例内容完全一致。
方案2:使用 wikipedia 库(轻量简洁)
这个库更轻量,适合简单的摘要提取场景,同样支持多语言切换:
安装方式
pip install wikipedia
使用示例
import wikipedia # 切换到阿拉伯语 wikipedia.set_lang("ar") # 查询对应页面 page = wikipedia.page("ياسر عرفات") # 获取摘要 print(page.summary)
注意事项
- 两个库都是调用维基百科官方的公开API实现的,不会触发爬虫封禁风险,返回的摘要格式和官方页面的前置摘要内容完全一致
- 如果需要其他语言的内容,只需要修改初始化时的
language参数即可,比如en对应英文,zh对应中文
内容的提问来源于stack exchange,提问作者Mai
相关产品推荐
相关产品推荐

