当前位置: 首页 > 知识库问答 >
问题:

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

曾飞沉
2023-03-14

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

此url提取深度学习页面的所有链接:https://en.wikipedia.org/w/api.php?action=query

对于提取与任何节关联的链接,我可以根据节id进行过滤-例如。,

对于同一页面的定义部分,我可以使用以下url:https://en.wikipedia.org/w/api.php?action=parse

对于同一页面的概述部分,我可以使用以下url:https://en.wikipedia.org/w/api.php?action=parse

但是我无法弄清楚如何只提取摘要部分的链接

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

共有2个答案

柴泰平
2023-03-14

您可以使用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是一个列表,按字母顺序包含所有链接标题。如果您更喜欢页面对象,则可以使用

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

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

宰父子安
2023-03-14

你需要使用https://en.wikipedia.org/w/api.php?action=parse

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

 类似资料:
  • 有办法从维基百科获得所有标题/摘录对吗?到那一刻,我发现了两种方法: 下载摘录转储,但它包含不完整/无效的摘录,我想是作为文章的第一行。 使用MediaWiki API请求摘录,但它非常慢,因为每个请求只能获得单个摘录(批量查询不适用于摘录): /w/api.php?action=query 我想获得摘录,因为它们是由MediaWiki API生成的,而不需要负担维基百科服务器。可能吗? 顺便说一

  • 我一直在尝试获取一个可能的结果列表(与在维基百科中搜索时得到的结果相同)和一个小的文章摘要,通常是第一段。 到目前为止,我能得到的要么是标题列表: https://en.wikipedia.org/w/api.php?action=query 或单个页面的摘要: https://en.wikipedia.org/w/api.php?action=query 是否有可能以类似于此的形式组合这两个查询

  • 在本章中,我展示了上一个练习的解决方案,并分析了 Web 索引算法的性能。然后我们构建一个简单的 Web 爬虫。 15.1 基于 Redis 的索引器 在我的解决方案中,我们在 Redis 中存储两种结构: 对于每个检索词,我们有一个URLSet,它是一个 Redis 集合,包含检索词的 URL。 对于每个网址,我们有一个TermCounter,这是一个 Redis 哈希表,将每个检索词映射到它出

  • 我正在尝试从这个维基百科页面中获取表数据:https://en.wikipedia.org/wiki/2020_coronavirus_pandemic_in_Nepal我试过用熊猫警犬。Read Office HTML语法,但它对我试图擦除的表无效(证实了CavID-19在尼泊尔地区的病例)。 我试着用Beautifulsoup和pandas来搜集数据,但没有用

  • 我们会很感激你的帮助。

  • 我的代码不会获取这样的链接。使用doc.select也没有帮助。我的问题是,如何从页面中获得所有链接? 编辑:我想我知道问题出在哪里了。我遇到麻烦的页面写得很糟糕,HTML验证器抛出了大量的错误。这会引起问题吗?