• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

(Delphi)UsingtheDiskCache使用磁盘缓存

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

The Chilkat Spider component has disk caching capabilities. To setup a disk cache, create a new directory anywhere on your local hard drive and set the CacheDir property to the path. For example, you might create "c:/spiderCache/". The UpdateCache property controls whether downloaded pages are saved to the cache. The FetchFromCache property controls whether the cache is first checked for pages. The LastFromCache property tells whether the last URL fetched came from cache or not.

 

uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls,
    SPIDERXLib_TLB,
    OleCtrls;

...

procedure TForm1.Button1Click(Sender: TObject);
var
spider: TSpider;
i: Integer;
success: Integer;

begin
//  The Chilkat Spider component/library is free.
spider := TSpider.Create(Self);

//  Set our cache directory and make sure saving-to-cache and fetching-from-cache
//  are both turned on:
spider.CacheDir := 'c:/spiderCache/';
spider.FetchFromCache := 1;
spider.UpdateCache := 1;

//  If you run this code twice, you'll find that the 2nd run is extremely fast
//  because the pages will be retrieved from cache.

//  The spider object crawls a single web site at a time.  As you'll see
//  in later examples, you can collect outbound links and use them to
//  crawl the web.  For now, we'll simply spider 10 pages of chilkatsoft.com
spider.Initialize('www.chilkatsoft.com');

//  Add the 1st URL:
spider.AddUnspidered('http://www.chilkatsoft.com/');

//  Begin crawling the site by calling CrawlNext repeatedly.

for i := 0 to 9 do
  begin

    success := spider.CrawlNext();
    if (success = 1) then
      begin
        //  Show the URL of the page just spidered.
        Memo1.Lines.Add(spider.LastUrl);
        //  The HTML is available in the LastHtml property
      end
    else
      begin
        //  Did we get an error or are there no more URLs to crawl?
        if (spider.NumUnspidered = 0) then
          begin
            ShowMessage('No more URLs to spider');
          end
        else
          begin
            ShowMessage(spider.LastErrorText);
          end;
      end;

    //  Sleep 1 second before spidering the next URL.
    //  The reason for waiting a short time before the next fetch is to prevent
    //  undue stress on the web server.  However, if the last page was retrieved
    //  from cache, there is no need to pause.
    if (spider.LastFromCache <> 1) then
      begin
        spider.SleepMs(1000);
      end;
  end;


end;

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi使程序的窗口出现在最前面并激活发布时间:2022-07-18
下一篇:
DELPHI中MDI子窗口的关闭和打开发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap