我试图从维基百科网页的摘要部分提取链接。我尝试了以下方法:
此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变量,但是不能只获得摘要部分的链接。
发布于 2021-06-04 13:32:22
您需要使用https://en.wikipedia.org/w/api.php?action=parse&prop=links&page=Deep%20learning§ion=0
请注意,这还包括{机器学习栏}和{人工智能方法}模板中的链接(在屏幕右侧)。
发布于 2021-06-04 13:51:34
您可以通过以下命令使用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]使用此代码段创建脚本取决于您。
https://stackoverflow.com/questions/67837003
复制相似问题