Sample code for 30+ languages & platforms
Delphi ActiveX

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 ActiveX Downloads

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

...

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

begin
success := 0;

spider := TChilkatSpider.Create(Self);

// 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
            Memo1.Lines.Add('No more URLs to spider');
          end
        else
          begin
            Memo1.Lines.Add(spider.LastErrorText);
          end;
      end;
    // Sleep 1 second before spidering the next URL.
    spider.SleepMs(1000);
  end;
end;