如何利用IDispatch接口? ( 积分: 50 )

  • 主题发起人 主题发起人 webwalker
  • 开始时间 开始时间
W

webwalker

Unregistered / Unconfirmed
GUEST, unregistred user!
输入一个网站的首页,可以一层层的检测该网站所有的网页,甚至检测到该网站链接其他网站的网页。
[red]这样一层层的检测下去,我原以为会形成一棵树,输入的网页为树的根节点,但仔细分析后这是错误的,它其实是一个图(就像是类的多重继承图),‘顶点’是网页,‘弧’是链接。[/red]
而且就该问题而言,测这个图的深度(就是有多少层网页)也是不现实的,用深度搜索的算法,除非某个网页上没有任何链接才是终点。
我的分不多了,如有满意回答日后定当双手送上。
 
输入一个网站的首页,可以一层层的检测该网站所有的网页,甚至检测到该网站链接其他网站的网页。
[red]这样一层层的检测下去,我原以为会形成一棵树,输入的网页为树的根节点,但仔细分析后这是错误的,它其实是一个图(就像是类的多重继承图),‘顶点’是网页,‘弧’是链接。[/red]
而且就该问题而言,测这个图的深度(就是有多少层网页)也是不现实的,用深度搜索的算法,除非某个网页上没有任何链接才是终点。
我的分不多了,如有满意回答日后定当双手送上。
 
网络110不就可以用这种方法查找的色情网站了嘛。
 
当然可以啊,就是收敛算法要注意而已,否则一会儿就回不来了,尤其是遇到论坛那种。
走一天都不会有什么收获
 
什么是收敛算法?
 
递归 结束的条件。
递归层数,根目录,是否检查过,某些特殊的url不需检查。
 
楼主是想搞蜘蛛程序吧。
如果用无限搜索方式,首先输入一下目标页,
搜索此目标页所有链接。加入数组,标识一下此页的URL
最好另外加个已搜索过的页面数组,
启用线程对数组中的链接进行搜索,搜索过的链接打上标识,
在新的搜索页面中搜索到的数据加入数据组。
就这样没停没歇地搜索下去。如果不想死机就定义一个最大的搜索量,完成后保存数据。清楚内存,再开始搜索。搜啊~~~~~~搜啊~~~~~~搜啊~~~~~~搜~~~~~~

如果你有上百台的百兆以上带宽,不出一个月你就能拥有 baidu一样的数据库了。
 
我也意识到了检测这个层数得不可能性。
 
大家是讨论搜索技术呀,就讨论百度的搜索技术吧
包括硬件架构,软件方面等等。
 
我遇到的问题是:
1、我查找论坛过去的资料,查找网页上链接的方法一般是用TWebbrowser的Docment属性也就是用IDispatch接口,能不能不用TWebBrowser,就是给出地址就可以得到该地址上的链接。
2、查找一些资料上面说IDispatch的速度是比较慢的,谁有更好的方法或可以提供这方面的资料。
 
提个建议:你参考一下网络蜘蛛的原理。
首先输入以个地址,然后你就分析以下这个地址,如:www.163.com/ad.htm......它的主域名是什么,然后再搜索整个网站的连接,把连接的范围定在主域名的范围之内,不是的就放弃或者存起来。具体怎么实现我就不知道了,希望你在有结果之后发送一份源码到maxtda@163.com谢谢
 
后退
顶部