首页 > 解决方案 > 如何使用 Python 3 和 Beautiful Soup 获取 Wikipedia 文章的文本?

问题描述

我有这个用 Python 3 制作的脚本:

response = simple_get("https://en.wikipedia.org/wiki/Mathematics")
result = {}
result["url"] = url
if response is not None:
    html = BeautifulSoup(response, 'html.parser')
    title = html.select("#firstHeading")[0].text

如您所见,我可以从文章中获得标题,但我无法弄清楚如何从“数学(来自希腊语μά...”)获取文本到目录...

标签: pythonhtmlweb-scrapingbeautifulsoupwikipedia

解决方案


有一种更简单的方法可以从 wikipedia - Wikipedia API获取信息。

这个 Python 包装器,它只允许您在几行代码中完成零 HTML 解析:

import wikipediaapi

wiki_wiki = wikipediaapi.Wikipedia('en')

page = wiki_wiki.page('Mathematics')
print(page.summary)

印刷:

数学(来自希腊语μάθημα máthēma,“知识、学习、学习”)包括对数量、结构、空间和变化等主题的研究……(特意省略)

而且,一般来说,如果有可用的直接 API,请尽量避免屏幕抓取。


推荐阅读