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

Chilkat2 Perl
use strict;
use warnings;
use Chilkat2;

my $success = 0;

my $spider = Chilkat2::Spider->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 my $i (0 .. 9) {
    $success = $spider->CrawlNext();
    if ($success) {
        # Show the URL of the page just spidered.
        print $spider->LastUrl, "\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->NumUnspidered == 0) {
            print "No more URLs to spider\n";
        } else {
            print $spider->LastErrorText, "\n";
        }
    }

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