解析维基百科页面内容

时间:2015-03-06 12:23:17

标签: html json parsing python-3.x wikipedia-api

我正在寻找一个解析html页面的库,特别是维基百科文章,例如:http://en.wikipedia.org/wiki/Railgun,我想提取文章的文字和图像(全尺寸或原始图像不是拇指)。 那里有一个HTML解析器吗? 我不想使用维基词典api,因为我似乎无法弄清楚如何用它们提取文章的文本和全尺寸图像。 谢谢,抱歉我的英语。

编辑:我忘了说结尾的结果应该是有效的html

编辑:我得到了json字符串:https://en.wikipedia.org/w/api.php?action=parse&pageid=218930&prop=text&format=json所以现在我需要解析json。 我知道在javascript中我可以这样做: var pageHTML = JSON.parse(" json string")。parse.text [" *"]; 既然我知道了一些html / javascript和python,我如何在python 3中发出那个http请求并解析json?

3 个答案:

答案 0 :(得分:2)

我认为你应该能够通过webapi获得所有内容,

https://www.mediawiki.org/wiki/API:Main_page https://www.mediawiki.org/wiki/API:Parsing_wikitext

或者您可以下载整个维基百科

https://meta.wikimedia.org/wiki/Research:Data

答案 1 :(得分:1)

您也可以从api获取html,查看https://www.mediawiki.org/wiki/Extension:TextExtracts/pt上的信息,例如:https://en.wikipedia.org/w/api.php?action=query&prop=extracts&exchars=175&titles=hello%20world

根据您需要的页数,如果页面量很大,则应考虑使用公共转储。

答案 2 :(得分:0)

我创建了一个名为wikipedia-to-json(用javascript编写)的Node.js module,用于解析维基百科文章中的HTML,并为您提供结构化的JSON对象,这些对象按顺序描述了文章的布局。 (标题,段落,图像,列表,子标题......)

如果您只想快速提取文本和部分并了解其外观,那么这可能很有用。