日期:2014-05-16  浏览次数:20878 次

ASP中,能否使用mshtml等,处理html得到并分析DOM树
使用ASP,得到一网页的源代码。现希望用ASP分析源代码,找出该网页的正文文本。

实现这一功能,目前常见的做法是 通过分析网页文本密度,找出正文区域。
JAVA等一般都有htmlparser等开源的解析器,得到DOM树后,分析找到正文所在节点

ASP下,如何找出网页正文文本?
ASP中,能否使用mshtml或其他什么组件等,处理html得到并分析DOM树??

或 其他方法、思路, 请不吝赐教,多谢。

------解决方案--------------------
html不是一棵dom树吗?
------解决方案--------------------
一份合法的html就是一份良构的xml?至少对xhtml如此
------解决方案--------------------
有第三方方相关COM组件的,只是不是很强大.
------解决方案--------------------
msxml试过了吗
------解决方案--------------------
抓取页面,使用正则,得到正文
------解决方案--------------------
引用:
Quote: 引用:

抓取页面,使用正则,得到正文


不同的网站,模板不同。可能正则就不同了。

我是希望找到一种方法,能采集sina 的页面,也能采集sohu的。而不需要去改程序,或正则。需要自动识别出正文。

只能可惜的告诉你,这想法不太现实,我想问你,就算你能分析成树了,你又如何确定不同网址不同网页他的内容,你怎么知道哪些才是他的正文?html的标签是什么里都可以放的,不一定是正文才能放
------解决方案--------------------
你的要求太高了,不现实
------解决方案--------------------
抓取页面,用正则才是正道,正则比用解析htmldom组件 效率高多了
------解决方案--------------------
搜索引擎,或一些爱好者开发的爬虫程序
它们获取的是整个页面中的文字内容,而不是你说的正文。如果你要获取这种内容的话,你的想法是可以现实的。
------解决方案--------------------
引用:
Quote: 引用:

抓取页面,用正则才是正道,正则比用解析htmldom组件 效率高多了


就是不知道,正则如何实现 从一内容页里,找出正文 ??
正则如果能实现,当然是最好了。

正则能不能找的到,是写正则的问题,通过正则取肯定可以的
一般也是根据标签的 ID,class来定位的
象一些抓新闻,小说的工具也都是通过s配置正则,一个网站对应一个正则
------解决方案--------------------
引用:
 
id class 这些,不同网站,都不同了,可能很难用得上。那种采集系统,我一直在用,十几年前优化到现在,目前想实现无规则采集。用正则实现还没有什么思路。正则应该能实现按行分析,但不知道如何提取节点信息。如果实现不了,需要用asp写一个html 解析函数,根据w3c,估计难度不会小。

我不明白你的意思 "目前想实现无规则采集", 即使你用分析整个文档的节点结构,也要有 规则来定位,
就像你说的 "id class 这些,不同网站,都不同了"
------解决方案--------------------
组件用IE组件 internetexplorer.application
不好意思前没看到,用正也可以分析dom结构

------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

抓取页面,使用正则,得到正文


不同的网站,模板不同。可能正则就不同了。

我是希望找到一种方法,能采集sina 的页面,也能采集sohu的。而不需要去改程序,或正则。需要自动识别出正文。

只能可惜的告诉你,这想法不太现实,我想问你,就算你能分析成树了,你又如何确定不同网址不同网页他的内容,你怎么知道哪些才是他的正文?html的标签是什么里都可以放的,不一定是正文才能放