Sample code for 30+ languages & platforms
Perl

Avoid URLs Matching Any of a Set of Patterns

See more Spider Examples

Demonstrates how to use "avoid patterns" to prevent spidering any URL that matches a wildcarded pattern. This example avoids URLs containing the substrings "java", "python", or "perl".

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

$spider = chilkat::CkSpider->new();

# 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/");

# Avoid URLs matching these patterns:
$spider->AddAvoidPattern("*java*");
$spider->AddAvoidPattern("*python*");
$spider->AddAvoidPattern("*perl*");

# Begin crawling the site by calling CrawlNext repeatedly.

for ($i = 0; $i <= 9; $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" . "\r\n";
        }
        else {
            print $spider->lastErrorText() . "\r\n";
        }

    }

    # Sleep 1 second before spidering the next URL.
    $spider->SleepMs(1000);
}