Sample code for 30+ languages & platforms
Rust

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

Rust

let spider = chilkat::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.add_unspidered("http://www.chilkatsoft.com/");

// Avoid URLs matching these patterns:
spider.add_avoid_pattern("*java*");
spider.add_avoid_pattern("*python*");
spider.add_avoid_pattern("*perl*");

// Begin crawling the site by calling CrawlNext repeatedly.
for i in 0..=9 {

    if spider.crawl_next().is_ok() {
        // Show the URL of the page just spidered.
        println!("{}", spider.last_url());
        // The HTML is available in the LastHtml property
    } else {
        // Did we get an error or are there no more URLs to crawl?
        if spider.num_unspidered() == 0 {
            println!("No more URLs to spider");
        } else {
            println!("{}", spider.last_error_text());
        }

    }

    // Sleep 1 second before spidering the next URL.
    spider.sleep_ms(1000);
}