Perl Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Perl Examples

Quick Start
Perl Unicode
Perl Byte Array
Perl Certs
Perl Email
Perl Encryption
Perl FTP
HTML-to-XML
Perl HTTP
Perl IMAP
Perl MHT
Perl MIME
Perl RSA
Perl S/MIME
Perl Signatures
Perl Socket
Perl Spider
Perl Tar
Perl Upload
Perl XML
Perl XMP
Perl Zip

More Examples...
String
Email Object
POP3
SMTP
RSS
Atom
Self-Extractor

Unreleased...
Service
PPMD
Deflate
Bzip2
LZW
Bz2
DH Key Exchange
DSA
Icon

 

 

 

 

 

 

 

Using the Disk Cache

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.

Download Chilkat Perl Module

use chilkat;

#  The Chilkat Spider component/library is free.
$spider = new chilkat::CkSpider();

#  Set our cache directory and make sure saving-to-cache and fetching-from-cache
#  are both turned on:
$spider->put_CacheDir("c:/spiderCache/");
$spider->put_FetchFromCache(1);
$spider->put_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; $i <= 10; $i++) {

    $success = $spider->CrawlNext();
    if ($success == 1) {
        #  Show the URL of the page just spidered.
        print $spider->lastUrl() . "\r\n";
        #  The HTML is available in the LastHtml property
    }
    else {
        #  Did we get an error or are there no more URLs to crawl?
        if ($spider->get_NumUnspidered() == 0) {
            print "No more URLs to spider" . "\n";
        }
        else {
            print $spider->lastErrorText() . "\n";
        }

    }

    #  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->get_LastFromCache() != 1) {
        $spider->SleepMs(1000);
    }

}


 

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2007 Chilkat Software, Inc. All Rights Reserved.