如何遍历网站(50)

  • 主题发起人 主题发起人 zqssoft
  • 开始时间 开始时间
Z

zqssoft

Unregistered / Unconfirmed
GUEST, unregistred user!
给出一个网址,如 http://www.baidu.com,如何遍历此网站下的所有网页url地址?
 
procedure TForm1.Button1Click(Sender: TObject); var i: Integer; begin for i := 0 to Webbrowser1.OleObject.Document.links.Length - 1 do Listbox1.Items.Add(Webbrowser1.OleObject.Document.Links.Item(i)); end;
 
之前曾经想写一个软件,来自动下载一个论坛的全部帖子,想法是:  1、打开论坛首页。  2、遍历此页的全部连接(用上面的人说的方法),判断listbox中是否已经有相同的连接,如没有,将连接放到listbox中。  3、将listbox中的连接指向的网页,从上到下,一个一个的打开,一个一个的保存。  4、重复执行步骤2,直到listbox中的记录全部执行完毕。  5、这样就得到结果了。碰到的问题是:  1、打开一个网页太慢了,我已经看过一个网站下载软件,很快的,而且猜测连接分析方法不是象上面的人说的方法。  2、因为打开慢,所以没有找到网页完全打开的事件,好象Webbrowser的哪个事件都不对,这样就取不到全部的连接。根据我试的结果,大致判断一下,完全打开一个网页要几秒,那样,如果有1K个页面,就要近一个小时,而用那个网站下载软件,几分钟就可以搞定。所以,我感觉,应该是用专门的下载方法,将网页文件下载下来,然后再对内容进行分析,得到连接,这样会快一些。
 
http://blog.csdn.net/Channels_net/archive/2009/04/13/4069667.aspx
 
多人接受答案了。
 
后退
顶部