1
hewigovens 2012-03-09 09:57:00 +08:00
这也算porting吧,lz好效率
|
2
kingwkb OP @hewigovens porting的意思是?
|
3
bitsmix 2012-03-09 10:49:22 +08:00
赞。
但是我想说的是, readability 是把当前网页的源码 post 到自己的服务器上,而不是象 LZ 这样在自己服务器上抓的。 不过无论如何,怒赞 LZ :) |
6
sobigfish 2012-03-09 11:54:27 +08:00
试了试cocoachina的新闻页 和 一些blog
很准 在找h1之类的么? |
8
mywaiting 2012-03-09 12:33:33 +08:00
@bitsmix InstaPaper的实现才是使用JavaScript把当前网页在浏览器中的DOM发送到Instapaper的服务器的;Readablity的实现则是用户提交一个网址,然后Readability使用自己的爬虫去抓取网页的内容的。
测试方法:在一个需要登录的网站,使用其中的内容(简单点就是找一篇淫淫网的日志吧),Instapaper可以提交内容,而Readability则是无法得到页面。 仅供参考。 |
9
bitsmix 2012-03-09 13:59:50 +08:00
@mywaiting readability 的 safari 扩展中的 "Read Now(`)" 是把 dom post出去的。
Read Later(Shift-`) 是提交的 url. Instapaper 我没看。 我想 Read Now 提交 dom 是为了更快的拿到生成好的便于阅读的文本吧。算一个同步操作,用户在这边等待。 但是单从提交->返回的这个时间来看, 提交 url 肯定会比 提交 dom 短的多。 反正你也是 later 才读,那解析内容的问题就交给服务器异步做好了。 |
10
mywaiting 2012-03-09 14:27:47 +08:00
@bitsmix 这个....那好吧....我调试过的就是Readability的Read Later的说
刚才没有说得很清楚啊! 呵呵!谢谢提醒! Ps:顺便问LZ的Port打算开源么?我想用一下你的实现.....谢谢! |
11
lala 2012-03-09 15:02:48 +08:00
正文里面的图片能够显示出来吗?试了一下,好像没有显示
|
12
kingwkb OP @mywaiting @lala 如果是全路径的话可以,我没有做补全路径,等等做上
通过大家的使用,刚才发现有视频的时候会有异常,现在解决了 发现异常的地址 http://yanghao.org/tools/readability?url=http%3A%2F%2Fcdc.tencent.com%2F%3Fp%3D5311 不知道这个是哪位朋友使用的 |
15
kingwkb OP @sohoer 那个s只是一个玩具,但是花了一个周末的时间做好之后就一直没管过他了,几年前研究过搜索,但工作一直跟这个没关系,所有很难坚持,这个牵扯的东西太多
|
16
mywaiting 2012-03-09 17:36:22 +08:00
Ps:顺便问LZ的Python实现打算开源么?我想用一下你的实现.....谢谢!
|
17
mywaiting 2012-03-09 17:36:38 +08:00
Ps:顺便问LZ的Python实现打算开源么?我想用一下你的实现.....谢谢!
|
18
ywjno 2012-03-09 18:25:17 +08:00
出错了,'ascii' codec can't encode characters in position 4-17: ordinal not in range(128)
|
19
kingwkb OP |
20
kojp 2012-03-09 19:25:04 +08:00
怒赞!
----我以前用PHP实现过,呵呵。入库什么的,效率有点低,也可能是服务器配置问题 |
21
kojp 2012-03-09 19:27:11 +08:00
“我们上班是为了过上更好的生活,去看更美的风景,和心爱的人不为吃穿发愁,有消费欲时犒赏下自己,吃美味的食物穿漂亮的衣服,可奇怪的是,我们每天都把时间用在吃快餐,挤地铁,对着屏幕流眼泪,困倦的打瞌睡,粗糙的穿衣,重复的程序里,甚至都没时间和心爱的人躺... ”
笑而不语,豆娘这段话很有深意,哈哈。。 |
23
ywjno 2012-03-09 21:30:04 +08:00
|
24
kingwkb OP @ywjno 这里还真不是编码问题,他的html不标准
<html\u3000xmlns:og="http://ogp.me/ns#"\u3000xmlns:fb="http://www.facebook.com/2008/fbml"> beautifulsoup无法解析,换了bs4,还是不行 |
27
kingwkb OP |
29
sobigfish 2012-03-10 15:20:18 +08:00
@kingwkb 没学过py 大概读了下。发现lz把分页去了。。。那像这种 http://dcdv.zol.com.cn/243/2430148.html 怎么办?只有1页 而且没连接。
|
33
kafka0102 2012-03-11 02:31:33 +08:00
如果是做正文抽取的话,想要做到很精准的效果是难的(尤其是准确剔除掉正文周边内容),尤其是来自一些不正规的站点网页。我能找到的相关开源产品有:boilerpipe、goose、jReadability、roadrunner(这个是抽模版的),还有一个忘记名字了,他们的效果都算不上太好(对正规的新闻站点会好些)。我自己实现了一个正文抽取的程序(也是很复杂的说,就别要代码了,暂时没有开源计划),可供测试的页面是:http://www.tuicool.com/te 。实际上,现在的实现算法不是我最初的想法,如果能基于浏览器内核分析出页面布局以及内容信息,对页面主体内容(不单单限于正文内容)的抽取效果会更好,而应用场景就更多了,这方面的经典算法就是微软研究院的VIPS,基于它也衍生了一堆论文。
|
35
kafka0102 2012-03-11 15:16:00 +08:00
@kingwkb
就我对readability试验效果来看,它只是对主体内容的提取,而不是准确的对正文提取,所以诸如相关文章、评论、广告、一些正文辅助信息等都可能被提出来(它是过滤了链接,但相关文本段落都在,如果要做手机阅读,这些信息是不可接受的),这种提取效果其实是很好做的,只要找到正文密度最大的段落就ok。而要准确提取正文,除了新闻页因为通常排版正规文本标准容易做外,面对诸如博客等各种来源,其实比较难解决的问题有:1)如何准确剔除评论信息,2)当正文内容简短,比如只有几行文字或图片,而诸如评论留言等干扰信息较多时,如何提取,3)当正文主要是链接内容时,如何提取,4)当正文内容格式复杂,比如包含多段代码、标签格式混乱,如何确定最大粒度的正文段,5)如何准确去除诸如广告、相关文章、诸如分享等辅助信息。其实效果做的好不好,多找几种不同的网页测试就知道了。在我做正文抽取时,其实就是找不同的网页做case,算法的细节策略也是不断调整,现在效果基本可以接受,但也存在一些bad case没有解决。因为我还根据一组页面做模版抽取,现在模版抽取效果就更差一些。就网页信息抽取来说,我觉得它是很有意思的事情,因为它可以做的事情实在太多了,除了抽正文,比如抽取评论、抽取新闻导航、抽取网站导航结构、抽取视频、商品等结构化信息、网页类型识别、网站类型识别等,就看用在什么地方了。 |
36
kingwkb OP @kafka0102 恩,你说的的确是,基于视觉的算法应该是方向,但是如果是搜索引擎的内容提取,不能根据一个算法的,应该是多个算法结合,提取导航,正文,评论,等等这些对于有大量数据来说很容易,分析整个网站的html结构觉得比就单独分析一个页面要来的准确的多
|
40
jerry 2012-03-13 21:32:52 +08:00
good job
最近在研究这个 |
41
kafka0102 2012-03-14 00:12:50 +08:00
@mlzboy 其实开始是想基于浏览器内核的,但webkit的文档太少、gecho的依赖太多,都不大可能在短时间搞定,后来使用gecho的java版本的XPCOM接口能搞了,不过在移植过程中存在一些问题就放弃了。。。我研究生时,还使用过VC内嵌的浏览器内核搞过,能获得布局信息,但因为时间关系,最终论文出来了,东西没做出来。
|
42
Zzway 2012-03-14 00:33:29 +08:00
http://www.douban.com/note/203856722/
只出来个标题 另外问一下,我chrome上的readability扩展,read later以前只是显示一下saving、saved,现在会先转到readability的网站确认了再转回来,不知道为什么,这样好麻烦! |
43
kingwkb OP @Zzway 这个是特殊情况,他的整段文字都在pre标签内,这个readability可以获取到内容么? 我没用过readability
|
45
flyingkid 2012-03-14 08:58:52 +08:00
|
46
sohoer 2012-03-14 09:12:01 +08:00
|
49
qichunren 2012-04-17 12:00:12 +08:00
|
50
standin000 2013-12-23 11:26:38 +08:00
为什么不调用readability.com提供的parse API了?
|
51
omg21 2016-06-27 21:21:03 +08:00
下了楼主的代码,看着好高大上,但是不会用啊,楼主能不能举个例子?
|