Sample code for 30+ languages & platforms
Delphi DLL

Getting Started Spidering a Site

See more Spider Examples

This is a very simple "getting started" example for spidering a web site. As you'll see in future examples, the Chilkat Spider library can be used to crawl the Web. For now, we'll concentrate on spidering a single site.

Chilkat Delphi DLL Downloads

Delphi DLL
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Spider;

...

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

begin
success := False;

spider := CkSpider_Create();

// 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
CkSpider_Initialize(spider,'www.chilkatsoft.com');

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

// Begin crawling the site by calling CrawlNext repeatedly.

for i := 0 to 9 do
  begin

    success := CkSpider_CrawlNext(spider);
    if (success = True) then
      begin
        // Show the URL of the page just spidered.
        Memo1.Lines.Add(CkSpider__lastUrl(spider));
        // 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 (CkSpider_getNumUnspidered(spider) = 0) then
          begin
            Memo1.Lines.Add('No more URLs to spider');
          end
        else
          begin
            Memo1.Lines.Add(CkSpider__lastErrorText(spider));
          end;
      end;
    // Sleep 1 second before spidering the next URL.
    CkSpider_SleepMs(spider,1000);
  end;

CkSpider_Dispose(spider);

end;