【发布时间】:2021-04-15 14:36:51
【问题描述】:
我希望从 SimpleWiki(如果可能,通常是任何 Wikimedia 网站)中抓取(所有)页面以获取其摘要(不在正文中的前几段)。
然后我想将这些文件包装到以下形式的字典中:
{
"title": "Some Wiki title page",
"source": "Some Wiki link",
"summary": "Some Wiki summary..."
}
然后json.dump他们。
例如,我希望能够获取一个随机页面,例如 https://simple.wikipedia.org/wiki/A,然后将其设为以下形式:
{
"title": "A",
"source": "https://simple.wikipedia.org/wiki/A",
"summary": "A or a is the first letter of the English alphabet. ... . A capital a is written "A". Use a capital a at the start of a sentence if writing"
}
我只是想知道是否有一种简单的方法可以做到这一点 - 我已经四处搜索(例如 Wikimedia 转储)但还没有找到任何东西。
【问题讨论】:
-
我想最简单的方法是使用 wiki 的 API。 mediawiki.org/wiki/API:Main_page
-
您可以从 wiki 的网站下载 XML 格式的转储文件。
-
@MarkLand 是的,我指的是那些转储。上次我使用它们时(2 年前),它们包含所有内容,我可以使用读取 XML 的简单 Python 脚本来解析和抓取数据。
-
@LucaAngioloni 啊,太棒了——你还碰巧有那个脚本吗? :)
-
@MarkLand 是的,但它不是开源的,因为它属于一家公司,所以我不能分享它。不过我可以给你一个提示。它使用的是 python 拥有的标准 sax 解析器。
标签: python json web-scraping beautifulsoup wikipedia