解析***页面内容
Posted
技术标签:
【中文标题】解析***页面内容【英文标题】:parsing wikipedia page content 【发布时间】:2015-05-08 01:18:20 【问题描述】:我正在寻找一个库来解析 html 页面,特别是***文章,例如:http://en.wikipedia.org/wiki/Railgun,我想提取文章的文本和图像(全尺寸或原始图像而不是拇指)。 那里有html解析器吗? 我宁愿不使用 wikimedia 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 字符串").parse.text["*"]; 既然我对 html/javascript 和 python 有一点了解,那我怎样才能发出那个 http 请求并在 python 3 中解析 json 呢?
【问题讨论】:
【参考方案1】:我认为你应该能够使用 webapi 获取所有内容,
https://www.mediawiki.org/wiki/API:Main_page https://www.mediawiki.org/wiki/API:Parsing_wikitext
或者你可以下载整个***
https://meta.wikimedia.org/wiki/Research:Data
【讨论】:
【参考方案2】:你也可以从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。
根据您需要的页面数量,如果页面量很大,您应该考虑使用公共转储。
【讨论】:
【参考方案3】:我创建了一个名为 wikipedia-to-json(用 javascript 编写)的 Node.js module,它解析 wikipedia 文章中的 HTML,并返回结构化的 JSON 对象,这些对象按顺序描述文章的布局。 (标题、段落、图片、列表、副标题...)
如果您只想快速提取文本和部分并了解事物的外观,这可能会很有用。
【讨论】:
以上是关于解析***页面内容的主要内容,如果未能解决你的问题,请参考以下文章