Sample code for 30+ languages & platforms
Dart

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

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  final spider = CkSpider();

  // 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 (var i = 0; i <= 9; i++) {

    try {
      spider.crawlNext();
      // Show the URL of the page just spidered.
      print(spider.lastUrl);
      // The HTML is available in the LastHtml property
    } on ChilkatException catch (e) {
      // Did we get an error or are there no more URLs to crawl?
      if (spider.numUnspidered == 0) {
        print('No more URLs to spider');
      } else {
        print(e.lastErrorText);
      }
    }

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