首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从维基百科网页的摘要部分获取链接

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

Stack Overflow用户
提问于 2021-06-04 12:11:33
回答 2查看 250关注 0票数 0

我试图从维基百科网页的摘要部分提取链接。我尝试了以下方法:

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

为了提取与任何部分相关的链接,我可以根据该节id进行筛选,例如,

对于同一页的Definition部分,我可以使用这个url:https://en.wikipedia.org/w/api.php?action=parse&prop=links&page=Deep%20learning§ion=1

对于同一页的Overview部分,我可以使用这个url:https://en.wikipedia.org/w/api.php?action=parse&prop=links&page=Deep%20learning§ion=2

但我想不出如何只从summary部分提取链接。

我甚至尝试使用pywikibot提取链接页并调整plnamespace变量,但是不能只获得摘要部分的链接。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-06-04 13:32:22

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

请注意,这还包括{机器学习栏}和{人工智能方法}模板中的链接(在屏幕右侧)。

票数 1
EN

Stack Overflow用户

发布于 2021-06-04 13:51:34

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

代码语言:javascript
复制
>>> 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对象作为结果,则可以使用

代码语言:javascript
复制
>>> pages = [pywikibot.Page(site, title) for title in links]

使用此代码段创建脚本取决于您。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67837003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档