Jump to content
xisto Community
Sign in to follow this  
zachtk8702

Parsing

Recommended Posts

It's quite simple, really. All you need is an INET control (called INET1 for the sake of not repeatedly calling it an INET control) and a textbox named txtparsethis (same reason as inet1)

First make sure that the textbox is multiline.
To get the page source into the textbox, do
txtparsethis.text = Inet1.OpenURL("http://forums.xisto.com/no_longer_exists/;)

Lets say that you are parsing the amount of points someone has here on this site. After making sure you are logged in, get the source, which is at http://forums.xisto.com/.

Then after looking at the source, look at the thing that preceeds the points you have and is after the points you have.

let strone = preceding and strtwo being the thing after it, do

startlook = instr(1, txtparsethis.text, strone) + len(strone)
endlook = instr(startlook,txtparsethis.text,strtwo)
pointsstr = mid(txtparsethis,startlook,endlook)
points = val(pointsstr)

:D

Share this post


Link to post
Share on other sites

Hey I figured that out, now Ihave 2 questions....... Say when im looking in the source and there is a space (like they hit enter twice) then more stuff that I need to add to the after part so it is specific enough....... How would I go about making it not read the blank lines......Also, how would I parse a certain vertical field in a table like.<TD></TD> <TD></TD></TR><Tr>[ FIELD 1] [ FIELD 2] <TD></TD> <TD></TD></TR><Tr>[ FIELD 1] [ FIELD 2] <TD></TD> <TD></TD></TR><Tr>[ FIELD 1] [ FIELD 2] <TD></TD> <TD></TD></TR><Tr>[ FIELD 1] [ FIELD 2] <TD></TD> <TD></TD></TR><Tr>[ FIELD 1] [ FIELD 2] <TD></TD> <TD></TD></TR><Tr>[ FIELD 1] [ FIELD 2] Something like that for instance, how would I parse the entire FIELD 1......

Share this post


Link to post
Share on other sites

hi, NotoriousZach

if iam not wrong, you wanted to replace the extra space and enter key char,
if so, you can use the replace and instr function to do that.

do while(something check or value that be true)do while(something check)  pos = instr("space to find") // this will find the first char that is space char  (then)  call a function to check if following is also space, if so, go on to check the next unlti that is false(not the space char)   if("function return value") = "some value" then      // you can have the value return as object, so you can check state & position value      startpos = startpos + 1      exit do     elseif(("function return other value") = "some other value" then      replace the found space char("will more than 1") to single space char      statrtpos = new pos     end ifloop    here, you should have a set of variable that hold space char start and end pos. it can then be safe to use replace function to override that with a single space char or other that you easy to maintain hereafter( for building parsing tree ).loop

- hope this help
- Eric

Share this post


Link to post
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
Sign in to follow this  

×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.