Sample code for 30+ languages & platforms
PureBasic

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

PureBasic
IncludeFile "CkSpider.pb"

Procedure ChilkatExample()

    success.i = 0

    spider.i = CkSpider::ckCreate()
    If spider.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

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

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

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

    ; Begin crawling the site by calling CrawlNext repeatedly.
    i.i
    For i = 0 To 9

        success = CkSpider::ckCrawlNext(spider)
        If success = 1
            ; Show the URL of the page just spidered.
            Debug CkSpider::ckLastUrl(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::ckNumUnspidered(spider) = 0
                Debug "No more URLs to spider"
            Else
                Debug CkSpider::ckLastErrorText(spider)
            EndIf

        EndIf

        ; Sleep 1 second before spidering the next URL.
        CkSpider::ckSleepMs(spider,1000)
    Next


    CkSpider::ckDispose(spider)


    ProcedureReturn
EndProcedure