Jump to content

Parse HTML Tables to Delimited Files


 Share

Recommended Posts

Friends: I've been trying to Parse HTML Tables to Delimited Files with _IETableWriteToArray but my inexperience has caused my failure, I think.

My Goal:

take example tables as seen in a Web Page like this and write them to a Tab Delimited Text File like this

I began by trying:

#include <IE.au3>
#include <Array.au3>
#include <File.au3>

If Not _FileCreate("book1.txt") Then
   MsgBox(4096, "Error", " Error Creating/book1.txt. error:" & @error)
EndIf
$sentlistfile = FileOpen("book1.txt", 1)
; Check if file opened for writing OK
If $book1= -1 Then
   MsgBox(0, "Error", "Unable to open file.")
   Exit
EndIf

$sURL = "http://www.bradpeterson.com/temp/testtable.html"
$oIE = _IECreate($sURL)

$oTable = _IETableGetCollection ($oIE, 0)
$oTable1 = _IETableGetCollection ($oIE, 1)

$aTableData = _IETableWriteToArray ($oTable)
$aTableData1 = _IETableWriteToArray ($oTable1)

Here is where I feel I'm stuck; any suggestions?

BP

Edited by bplabs
Link to comment
Share on other sites

Well, you've already done the hard part... $aTableData and $aTableData1 should now be 2-D arrays filled with data. You simply need to loop through them and populate your external file...

Something like this:

Local $i = 0, $j = 0, $line
Local $iMax = Ubound($aTableData, 0) - 1, $jMax = Ubound($aTableData, 1) - 1

For $i = 0 To $iMax
    $line = ""
    For $j = 0 to $jMax
        $line &= $aTableData[$i][$j]
        If $j = $jMax Then
            FileWriteLine("book1.txt", $line)
        Else
            $line &= ","
        EndIf
    Next
Next

Dale

Edit: typo

Edited by DaleHohm

Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl

MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model

Automate input type=file (Related)

Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded  Better Better?

IE.au3 issues with Vista - Workarounds

SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y

Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead?

Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...