如何在Python中提取维基百科数据?代码实现示例

2021年11月16日19:07:36 发表评论 1,518 次浏览

本文介绍在维基百科中提取数据和搜索,使用 Python 中的维基百科库获取文章摘要、链接、图像等。

如何在Python中提取维基百科数据维基百科无疑是互联网上最大和最受欢迎的综合参考书,它是最受欢迎的网站之一。它具有完全免费的内容。因此,能够在 Python 中访问如此大量的信息是一项方便的工作。在本教程中,你将能够轻松地从维基百科中提取信息,而无需任何努力。

相关:如何在 Python 中提取所有网站链接。

Python如何提取维基百科数据?我需要提到的是,我们不会手动抓取维基百科页面,维基百科 模块已经为我们完成了艰巨的工作。让我们安装它:

pip3 install wikipedia

打开一个 Python 交互式 shell 或一个空文件,然后继续。

让我们总结一下什么是 Python 编程语言:

import wikipedia
# print the summary of what python is
print(wikipedia.summary("Python Programming Language"))

Python提取维基百科数据示例 - 这将从这个维基百科页面中提取摘要。更具体地说,它会打印一些首句,我们可以指定要提取的句子数:

In [2]: wikipedia.summary("Python programming languag", sentences=2)
Out[2]: "Python is an interpreted, high-level, general-purpose programming language. Created by Guido van Rossum and first released in 1991, Python's design philosophy emphasizes code readability with its notable use of significant whitespace."

请注意,我故意拼错了查询,它仍然给我一个准确的结果。

如何在Python中提取维基百科数据?在维基百科搜索中搜索一个术语:

In [3]: result = wikipedia.search("Neural networks")
In [4]: print(result)
['Neural network', 'Artificial neural network', 'Convolutional neural network', 'Recurrent neural network', 'Rectifier (neural networks)', 'Feedforward neural network', 'Neural circuit', 'Quantum neural network', 'Dropout (neural networks)', 'Types of artificial neural networks']

这返回了相关页面标题的列表,让我们获取“神经网络”的整个页面,即“result[0]”:

# get the page: Neural network
page = wikipedia.page(result[0])

提取标题:

# get the title of the page
title = page.title

获取该维基百科页面的所有类别:

# get the categories of the page
categories = page.categories

删除所有 HTML 标签后提取文本(这是自动完成的):

# get the whole wikipedia page text (content)
content = page.content

所有链接:

# get all the links in the page
links = page.links

参考资料:

# get the page references
references = page.references

最后总结一下:

# summary
summary = page.summary

让我们把它们打印出来:

# print info
print("Page content:\n", content, "\n")
print("Page title:", title, "\n")
print("Categories:", categories, "\n")
print("Links:", links, "\n")
print("References:", references, "\n")
print("Summary:", summary, "\n")

试试看 !

Python提取维基百科数据示例 - 你还可以将Python维基百科库中的语言从英语更改为你选择的另一种语言:

# changing language
# for a list of available languages, 
# check http://meta.wikimedia.org/wiki/List_of_Wikipedias link.
language = "es"
wikipedia.set_lang(language)
# get a page and print the summary in the new language
print(f"Summary of web scraping in {language}:", wikipedia.page("Web Scraping").summary)

如何在Python中提取维基百科数据?上面我们使用wikipedia.set_lang()函数更改了语言,然后正常提取我们的页面。有关可用语言的列表,请查看此链接

Python如何提取维基百科数据?好的,我们完成了,这是关于如何使用 Python 从维基百科中提取信息的简要介绍。如果你想自动收集语言模型的数据、制作问答聊天机器人、围绕此制作包装应用程序等等,这会很有帮助!可能性是无限的,请在下面的评论中告诉我们你对此做了什么!

在此处查看完整代码和该库的官方文档

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: