Sample code for 30+ languages & platforms
C

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

C
#include <C_CkSpider.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkSpider spider;
    int i;

    success = FALSE;

    spider = CkSpider_Create();

    // 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
    CkSpider_Initialize(spider,"www.chilkatsoft.com");

    // Add the 1st URL:
    CkSpider_AddUnspidered(spider,"http://www.chilkatsoft.com/");

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

    // Begin crawling the site by calling CrawlNext repeatedly.

    for (i = 0; i <= 9; i++) {

        success = CkSpider_CrawlNext(spider);
        if (success == TRUE) {
            // Show the URL of the page just spidered.
            printf("%s\n",CkSpider_lastUrl(spider));
            // The HTML is available in the LastHtml property
        }
        else {
            // Did we get an error or are there no more URLs to crawl?
            if (CkSpider_getNumUnspidered(spider) == 0) {
                printf("No more URLs to spider\n");
            }
            else {
                printf("%s\n",CkSpider_lastErrorText(spider));
            }

        }

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



    CkSpider_Dispose(spider);

    }