Sample code for 30+ languages & platforms
PureBasic

Extract all HTML Objects from a Web Page

See more MHT / HTML Email Examples

Demonstrates how to download a Web page (at a URL) and extract all HTML objects. Eg. images, links, CSS files, JavaScript files, etc.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkMht.pb"

Procedure ChilkatExample()

    success.i = 0

    ; This example assumes the Chilkat API to have been previously unlocked.
    ; See Global Unlock Sample for sample code.

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

    ; Download a URL into an in-memory MHT web archive contained
    ; in a string variable.
    ; The following URL is randomly picked and was valid at the time of writing this example:
    mhtDoc.s = CkMht::ckGetMHT(mht,"https://www.tetonlodge.com/")
    If CkMht::ckLastMethodSuccess(mht) <> 1
        Debug CkMht::ckLastErrorText(mht)
        CkMht::ckDispose(mht)
        ProcedureReturn
    EndIf

    ; Extract the HTML and embedded objects:
    unpackDir.s = "C:/AAWorkarea/mhtTesting/"
    htmlFilename.s = "lodge.html"
    partsSubdir.s = "objects"

    ; Extract to C:/AAWorkarea/mhtTesting/lodge.html.
    ; images and other embedded objects are placed in
    ; C:/AAWorkarea/mhtTesting/objects.  Directories are automatically
    ; created if they don't already exist.
    success = CkMht::ckUnpackMHTString(mht,mhtDoc,unpackDir,htmlFilename,partsSubdir)
    If success <> 1
        Debug CkMht::ckLastErrorText(mht)
    Else
        Debug "Unpacked!"
    EndIf



    CkMht::ckDispose(mht)


    ProcedureReturn
EndProcedure