花了3个晚上,把readability最新的1.7.1转成了python版的

2012-03-09 09:40:14 +08:00
 kingwkb
http://yanghao.org/tools/readability

github上找的的都是太老的版本0.4

其实算法这东西吧,看了别人的也就那样,但是要自己想出来确实不好弄,实现还是很容易的
9432 次点击
所在节点    Python
52 条回复
kojp
2012-03-09 19:27:11 +08:00
“我们上班是为了过上更好的生活,去看更美的风景,和心爱的人不为吃穿发愁,有消费欲时犒赏下自己,吃美味的食物穿漂亮的衣服,可奇怪的是,我们每天都把时间用在吃快餐,挤地铁,对着屏幕流眼泪,困倦的打瞌睡,粗糙的穿衣,重复的程序里,甚至都没时间和心爱的人躺... ”

笑而不语,豆娘这段话很有深意,哈哈。。
mywaiting
2012-03-09 20:27:52 +08:00
@kingwkb 谢谢Kingwkb同学!回头更新了给个Github的地址.....谢谢!
ywjno
2012-03-09 21:30:04 +08:00
kingwkb
2012-03-09 21:43:42 +08:00
@ywjno 这里还真不是编码问题,他的html不标准
<html\u3000xmlns:og="http://ogp.me/ns#"\u3000xmlns:fb="http://www.facebook.com/2008/fbml">

beautifulsoup无法解析,换了bs4,还是不行
mywaiting
2012-03-09 22:12:21 +08:00
@kingwkb 换lxml啊,这个比"美丽汤"好用很多啊,而且解析的Html文档也能支持不太规范的....
ywjno
2012-03-09 23:09:38 +08:00
@kingwkb 奇怪了,这个blog的其他文章有的能解析的
kingwkb
2012-03-10 14:48:25 +08:00
chaojie
2012-03-10 15:17:14 +08:00
@kingwkb 好东西啊,收了
sobigfish
2012-03-10 15:20:18 +08:00
@kingwkb 没学过py 大概读了下。发现lz把分页去了。。。那像这种 http://dcdv.zol.com.cn/243/2430148.html 怎么办?只有1页 而且没连接。
mywaiting
2012-03-10 15:30:15 +08:00
@kingwkb 非常感谢你的Python版本的readability的移植工作!非常感谢!
iray1991
2012-03-10 22:13:49 +08:00
@mywaiting
这个。。移植后可用作?
mywaiting
2012-03-11 00:44:08 +08:00
@iray1991 这个....这个....就是有用吧,公司里面有个小东西要用到.....
kafka0102
2012-03-11 02:31:33 +08:00
如果是做正文抽取的话,想要做到很精准的效果是难的(尤其是准确剔除掉正文周边内容),尤其是来自一些不正规的站点网页。我能找到的相关开源产品有:boilerpipe、goose、jReadability、roadrunner(这个是抽模版的),还有一个忘记名字了,他们的效果都算不上太好(对正规的新闻站点会好些)。我自己实现了一个正文抽取的程序(也是很复杂的说,就别要代码了,暂时没有开源计划),可供测试的页面是:http://www.tuicool.com/te 。实际上,现在的实现算法不是我最初的想法,如果能基于浏览器内核分析出页面布局以及内容信息,对页面主体内容(不单单限于正文内容)的抽取效果会更好,而应用场景就更多了,这方面的经典算法就是微软研究院的VIPS,基于它也衍生了一堆论文。
kingwkb
2012-03-11 12:31:12 +08:00
@kafka0102 不知道你这个算法有多复杂,但是在使用效果上面没觉得比readability好
kafka0102
2012-03-11 15:16:00 +08:00
@kingwkb
就我对readability试验效果来看,它只是对主体内容的提取,而不是准确的对正文提取,所以诸如相关文章、评论、广告、一些正文辅助信息等都可能被提出来(它是过滤了链接,但相关文本段落都在,如果要做手机阅读,这些信息是不可接受的),这种提取效果其实是很好做的,只要找到正文密度最大的段落就ok。而要准确提取正文,除了新闻页因为通常排版正规文本标准容易做外,面对诸如博客等各种来源,其实比较难解决的问题有:1)如何准确剔除评论信息,2)当正文内容简短,比如只有几行文字或图片,而诸如评论留言等干扰信息较多时,如何提取,3)当正文主要是链接内容时,如何提取,4)当正文内容格式复杂,比如包含多段代码、标签格式混乱,如何确定最大粒度的正文段,5)如何准确去除诸如广告、相关文章、诸如分享等辅助信息。其实效果做的好不好,多找几种不同的网页测试就知道了。在我做正文抽取时,其实就是找不同的网页做case,算法的细节策略也是不断调整,现在效果基本可以接受,但也存在一些bad case没有解决。因为我还根据一组页面做模版抽取,现在模版抽取效果就更差一些。就网页信息抽取来说,我觉得它是很有意思的事情,因为它可以做的事情实在太多了,除了抽正文,比如抽取评论、抽取新闻导航、抽取网站导航结构、抽取视频、商品等结构化信息、网页类型识别、网站类型识别等,就看用在什么地方了。
kingwkb
2012-03-11 19:07:01 +08:00
@kafka0102 恩,你说的的确是,基于视觉的算法应该是方向,但是如果是搜索引擎的内容提取,不能根据一个算法的,应该是多个算法结合,提取导航,正文,评论,等等这些对于有大量数据来说很容易,分析整个网站的html结构觉得比就单独分析一个页面要来的准确的多
mlzboy
2012-03-11 22:58:56 +08:00
@kafka0102 算法就不用了,说一下用到哪些工具吧
kafka0102
2012-03-12 00:10:37 +08:00
@mlzboy 什么工具?如果是说我的正文抽取程序,也就是使用jsoup做html解析。
mlzboy
2012-03-13 21:27:06 +08:00
@kafka0102 原来是搞java的哈,以为用webkit之类的,
jerry
2012-03-13 21:32:52 +08:00
good job
最近在研究这个

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/29123

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX