Perl Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Perl Examples

Quick Start
Perl Unicode
Perl Byte Array
Perl Certs
Perl Email
Perl Encryption
Perl FTP
HTML-to-XML
Perl HTTP
Perl IMAP
Perl MHT
Perl MIME
Perl RSA
Perl S/MIME
Perl Signatures
Perl Socket
Perl Spider
Perl Tar
Perl Upload
Perl XML
Perl XMP
Perl Zip

More Examples...
String
Email Object
POP3
SMTP
RSS
Atom
Self-Extractor

Unreleased...
Service
PPMD
Deflate
Bzip2
LZW
Bz2
DH Key Exchange
DSA
Icon

 

 

 

 

 

 

 

HTTP GET - Download and Parse HTML

Downloads an HTML page from the Singapore Exchange and parses a row of options prices from an HTML table.

Chilkat Module for Perl 5.8.*

Chilkat Module for Perl 5.10.*

use chilkat;

$http = new chilkat::CkHttp();

#  Any string unlocks the component for the 1st 30-days.
$success = $http->UnlockComponent("Anything for 30-day trial");
if ($success != 1) {
    print $http->lastErrorText() . "\n";
    exit;
}

#  Send the HTTP GET and return the content in a string.

$html = $http->quickGetStr("http://esite.sgx.com/live/dt/DTFuture.asp?JBFE");

#  Use the Chilkat HTML-to-XML component to convert
#  the HTML to parsable XML:
$htmlToXml = new chilkat::CkHtmlToXml();

#  Any string argument automatically begins the 30-day trial.
$success = $htmlToXml->UnlockComponent("30-day trial");
if ($success != 1) {
    print "HtmlToXml component unlock failed" . "\n";
    exit;
}

#  Indicate the charset of the output XML we'll want.
$htmlToXml->put_XmlCharset("utf-8");

#  Set the HTML:
$htmlToXml->put_Html($html);

#  We won't need the scripts or images, so drop those tags...
$htmlToXml->DropTagType("img");
$htmlToXml->DropTagType("script");

#  Get the XML:

$xmlStr = $htmlToXml->toXml();

#  Load the XML into the Chilkat XML parser:
$xml = new chilkat::CkXml();
$xml->LoadXml($xmlStr);

#  success = xml.SaveXml("out.xml");

#  Find a known point in the XML.  In this case we'll look for the text node
#  containing this string: "Chg From Prev Settle"
$node = $xml->SearchForContent(null,"text","Chg From Prev Settle");
if ($node eq null ) {
    print "Did not find Chg From Prev Settle" . "\n";
    exit;
}

#  Move up to the TD node:
$node->GetParent2();

#  Move up to the TR node:
$node->GetParent2();

#  Move to the next row (i.e. next TR)
$node->NextSibling2();

$node->FirstChild2();
$node->NextSibling2();

print "Expire Month/Year: " . $node->getChildContent("text") . "\r\n";
$node->NextSibling2();

print "Last: " . $node->getChildContent("text") . "\r\n";
$node->NextSibling2();

print "Change: " . $node->getChildContent("text") . "\r\n";
$node->NextSibling2();

#  ...

$success = $node->SaveXml("row.xml");


 

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2007 Chilkat Software, Inc. All Rights Reserved.