读书人

对于解析html成tag树的讨论

发布时间: 2011-12-23 23:32:01 作者: rapoo

关于解析html成tag树的讨论
这段时间在做搜索引擎,决定采用Lucene.net。但是在网页抓取,解析方面一直很难找到比较理想的东西,后来自己写了个,经过测试www.sina.com.cn以及www.csdn.net等众多网站首页,完全能够实现将Html解析成tag数。
具体可以看我的文章:里面罗列了核心思想和算法《解析Html生成标签数》

但是不知道是否还有其他比较理想的算法。
希望各位讨论讨论,给点意见。

[解决办法]
哦,被推荐了,学习一下啊~
[解决办法]
记得同学买了本Lecene in Action做毕业设计,对这个没什么研究,就当给你充充人气
[解决办法]

探讨
哦,被推荐了,学习一下啊~

[解决办法]
至少有两份代码可以做对比,Gecko和webkit。
[解决办法]
不错,不错,真的不错




[解决办法]
不错啊,我对分析HTML有兴趣。支持~
[解决办法]
探讨
不错啊,我对分析HTML有兴趣。支持~

[解决办法]
不错啊,我对分析HTML有兴趣。支持~
[解决办法]
支持一下,会仔细看的
[解决办法]
支持LZ,很好,很强大
[解决办法]
俺喜欢.大力支持!也有看了一下搜索引擎的相关内容,不过了解不深
[解决办法]
研究中。。。。。。。。。。。。。。。。。。。。
[解决办法]
学习
[解决办法]

[解决办法]
探讨
支持一下,会仔细看的

[解决办法]
HtmlParse,
HtmlDocument,


[解决办法]
探讨
哦,被推荐了,学习一下啊~

[解决办法]
记号。

学习。
[解决办法]
支持下
-----占位-----
[解决办法]
html解析成tag标签,我用的是正规则,也是分析成tag,但不是为tag树
如:
原html

<html>
<body>
第一
<div>
第二
</div>
第三
</body>
</html>
解析成tag为
<html>
<body>
<body> 第一<div>
<div>第二</div>
</div>第三</body>
<div>
</div>
<body>
</html>


[解决办法]
学习一下。。。。。。。
[解决办法]
也来顶一下,正在看你那篇文章`~
[解决办法]
像input,br 等不需要"</ "结束标记就可以使用的tag,不知道你打算怎么解决?

我曾经尝试用正则表达式匹配出所有标签,再逐个进行处理的方式解析HTML,不过由于时间的原因,
还没有做出来。

期待与大家的交流.
[解决办法]
不是很懂楼主的设计意图,个人觉得在这个之前应该加一个数据整形的程序,然后数据整形程序的输出才是给你这个程序使用。个人觉得也可以直接用IE可编程部分来做,不过就是慢一点,如果要求速度的话,可以考虑多机分布处理来弥补速度慢的缺点。


[解决办法]
看了,写得不错,支持原创
[解决办法]
过去看看。。。。。。。。。。。。。。。
[解决办法]
mark 学习学习。
[解决办法]
呵呵,你那个我已经再关注了。几年不来csdn了,蹭个分先:)

至于页面抓取,呵呵,由于我以前写过一个页面采集的小程序,专门抓页面的,因为不需要进行标签数匹配,所以我也没有用htmlparser,直接正则完事。一般的垃圾网页,抓起来倒也还算正常,呵呵。不过和这个就不太一样了,我那个是只要数据,而这个则需要进行具体的解析,侧重面不一样。
[解决办法]
html parse 的难点,保持树层次的正确。
[解决办法]
支持。
学习。[size=12px][/size][size=12px][/size][size=12px][/size]
[解决办法]
very high!i'll study hard
[解决办法]
学习
支持一下!
顶!!!

[解决办法]

[解决办法]
http://topic.csdn.net/u/20080220/17/d60ec0a7-6263-4286-8d37-5438d21e0920.html
http://topic.csdn.net/u/20070627/11/df9b37c6-5a90-44c1-9fc0-9461e819b5dd.html

很久很久以前我就已经做了一个HTML DOM Parser了……
[解决办法]

探讨
呵呵,被推荐了,高兴,我的确希望能够有我们“国产”的Html解析包,所以我考虑后续把这东西开源。

先加分!先凑足200分。。。

[解决办法]
支持[size=12px][/size]
[解决办法]
学习,,,,,,,,
[解决办法]
顶一下,
[解决办法]
学习+关注!!
帮你顶!!
[解决办法]
支持一下~~
[解决办法]
人气上升中
支持下,有空咯学习学习
[解决办法]
支持
[解决办法]
用.net做的,速度快不了
[解决办法]
学习下
【远方】专职路过UP
[解决办法]
楼主很强大,向你学习!
[解决办法]
正在做这方面的工作.来学习学习
[解决办法]
考虑开源的HtmlAgilityPack
[解决办法]
不知道具体的作用,可还是学习学习
[解决办法]
探讨
支持一下,会仔细看的

[解决办法]
纯学习了,楼主很强大
[解决办法]
直接用XMLDOCUMENT就可以了吧
[解决办法]
遇到过类似的问题,但主要不是想看树,而是想要将网站页面弄到本地保存,以防以后查不着

由于不仅分析html还要下载其中的js、iframe、jpg、gif以及js/iframe中的js/iframe/jpg/gif,所以程序较多,是一个包,刚刚上载了源码,网站说一会才会看到,欢迎到我的下载页面看看,希望多交流



提示:做这个东西的时候,感觉到可能会有版权所有者利益的问题,这也许是楼主发现没人关注html分析的原因之一吧,懂的人都在那这个本事赚钱,并被要求不要再告诉别人了

:)
[解决办法]
楼主的源码共享一下!
[解决办法]
c#下有段开源的代码.不过望叫什么名子了
楼主不知道有没有看过.
老外注的
[解决办法]
我前段时间也参与做了个搜索引擎,采用的是HtmlParse,感觉还行,凑合着能把任务完成。
[解决办法]

探讨
楼主的源码共享一下!

[解决办法]
kankan.....................
[解决办法]
帮顶
[解决办法]
十分好,本人目前就是在做该系统
[解决办法]
mark
[解决办法]
xue xi
[解决办法]
LZ很好的想法,我现在用的开源的东东.学习下~~~
[解决办法]
UP !
[解决办法]
不错,不错,真的不错

[解决办法]
由于采用的辅助结构Stack,在发现 </ABC>这样的结束标签之前,要在Stack中找到同名的Tag出库,所以对于没有结束标志的这些标签,最终都会处理的。比如

<WWW> <input> </WWW>这种,input作为www的子节点。因为发现 </WWW>的时候,先在Stack中进行查找,发现第一个input与WWW不匹配,所以先把input出栈,然后再继续查看,找到WWW,匹配了,然后把WWW出栈,并且把前面出栈的input作为其子节点。

不错,支持一下!
[解决办法]
HtmlParse,
HtmlDocument,

[解决办法]
mark..............
[解决办法]
不知道能否用html对象,找出所有childnode,此时应该是head和body,在用循环一次找出childnode,每找到一个node就判断有无childnote,应该不会很复杂,就是不知道效率怎么样,如果觉得可行的话可以继续讨论下,
顺便提一下,进来纯粹是来顶我的同姓本家
[解决办法]
<a href="edit.html?id=${user.id}">修改 </a>好贴
[解决办法]
看看。。
[解决办法]
学习 顶
[解决办法]
我还是希望看到源代码
[解决办法]
,学习一下啊~
[解决办法]
问下呵 怎么不用原汁的lucene

读书人网 >J2EE开发

热点推荐