如何实现类似于Arc90的可读性或Instapaper的html页面清理器?

时间:2010-09-16 07:39:08

标签: html parsing

我很想知道如何擦除html页面并很好地呈现它 - 删除所有混乱并将主文本重新格式化为一种非常易读的格式 - 如http://lab.arc90.com/experiments/readability或Instapaper。

是一个简单的页面解析和删除不在

中的元素吗?

这是在其他地方讨论的吗?

3 个答案:

答案 0 :(得分:7)

可读性不是一个简单的解析器,它使用复杂的算法来只检索所需的组件,如果你不是编程的大师我会建议你使用下面突出显示的免费服务。

您可以从可读性(http://www.readability.com/publishers/api

请求开发人员API

如果您请求解析器,它将完全按照您要实现的目标执行,即从站点中提取内容。请记住给他们足够的理由让您使用他们的API。

对其解析服务的查询将如下所示

  

https://www.readability.com/api/content/v1/parser?url= {url to be here here}& token = {your api key here}

请求将返回如下响应:

  

HTTP / 1.0 200 OK {       “domain”:“blog.readability.com”,       “作者”:“Richard Ziade”,       “url”:“http://blog.readability.com/2011/02/step-up-be-heard-readability-ideas/”,

"short_url": "http://rdd.me/kbgr5a1k",
"title": "Step Up & Be Heard: Readability Ideas", 
"total_pages": 1, 
"word_count": 175, 
"content": "<div>\n  \n<div class=\"entry\">\n\t<p>When we launched Readability [snip] ...</div>\n</div>", 
"date_published": "2011-02-22 00:00:00", 
"next_page_id": null, 
"rendered_pages": 1 }

对于那里的硬核人员,从这里结账可读性nodeJS,ruby和python端口 http://arrix.blogspot.com/2010/11/server-side-readability-with-nodejs.html

快乐编码

答案 1 :(得分:4)

https://github.com/jiminoc/goose/wiki做了类似于你的问题,源代码可以公开获得以及单元测试

答案 2 :(得分:1)

如果相关的网页或网站充分利用了语义元素和结构,您可以使用不同的CSS样式表,这样可以彻底改变布局并完全显示。