微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从维基百科页面的摘要部分获取链接

如何解决从维基百科页面的摘要部分获取链接

我正在尝试从维基百科页面摘要部分提取链接。我尝试了以下方法

这个url提取Deep learning页面的所有链接https://en.wikipedia.org/w/api.php?action=query&prop=links&titles=Deep%20learning

为了提取与任何部分相关的链接,我可以根据部分 id 进行过滤 - 例如,

对于同一页面DeFinition 部分,我可以使用以下网址:https://en.wikipedia.org/w/api.php?action=parse&prop=links&page=Deep%20learning&section=1

对于同一页面Overview 部分,我可以使用以下网址:https://en.wikipedia.org/w/api.php?action=parse&prop=links&page=Deep%20learning&section=2

但我不知道如何只提取 summary 部分的链接

enter image description here

我什至尝试使用 pywikibot 提取链接页面并调整 plnamespace 变量,但无法仅获取摘要部分的链接

解决方法

您需要使用 https://en.wikipedia.org/w/api.php?action=parse&prop=links&page=Deep%20learning&section=0

请注意,这还包括 {{machine learning bar}} 和 {{Artificial intelligence|Approaches}} 模板(在屏幕右侧)。

,

您可以通过以下命令使用 Pywikibot

>>> import pywikibot
>>> from pwikibot import textlib
>>> site = pywikibot.Site('wikipedia:en')  # create a Site object
>>> page = pywikibot.Page(site,'Deep learning')  # create a Page object
>>> sect = textlib.extract_sections(page.text,site)  # divide content into sections
>>> links = sorted(link.group('title') for link in pywikibot.link_regex.finditer(sect.head))

现在 links 是一个包含按字母顺序排列的所有链接标题的列表。如果您更喜欢 Page 对象,您可以使用

创建它们
>>> pages = [pywikibot.Page(site,title) for title in links]

您可以使用此代码片段创建脚本。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。