Re: Programmable Web Crawler
What a wonderful idea!
What a wonderful idea!
Alpha Software Mobile Development Tools: Alpha Anywhere | Alpha TransForm |
'___________________Get Page 8__________________________________________ on error goto 0 topparent:ACTIVEX1.activex.document.getElementById("dgResults").childNodes.item(0).childNodes.item(21).childNodes.item(0).childNodes.item(14).click()
'Date Created: 29-Dec-2006 07:58:56 PM 'Last Updated: 30-Dec-2006 10:16:29 PM 'Created By : Peter Wayne 'Updated By : Peter Wayne ' web window vCounty="PINELLAS" url="http://www.pcsoweb.com/Inmate/inquiry.aspx" dim mayRead as L=.f. dim vStopDate as D=date()-1 dim dlg_title as c="Who's in Jail - Pinellas" dim page as n=0 dim search_text as c="" dim nAnchors as n=0 dim web as p dim web.object as p dim web.class as c ="shell.explorer.2" web.object.addressbar = .T. web.object.fullscreen = .F. web.object.menubar = .T. web.object.offline = .F. web.object.registerasbrowser = .F. web.object.registerasdroptarget = .T. web.object.resizable = "" web.object.silent = .F. web.object.statusbar = .T. web.object.statustext = "" web.object.theatermode = .F. web.object.toolbar = 1.000000 web.object.visible = .T. web.events=<<%code% function documentcomplete as v (pDisp as p, url as A) select case page=0 mayRead=.t. page=page+1 case page=1 doc=web.object.document tbl=doc.getElementById("dgResults") rows=tbl.getElementsByTagName("tr") nRows=rows.length for i=1 to nRows-2 search_text=search_text+rows.item(i).innerText+crlf() next nChildren=1+doc.getElementById("dgResults").childNodes.item(0).childNodes.item(21).childNodes.item(0).childNodes.length nAnchors=nChildren/2 if page<nAnchors doc.getElementById("dgResults").childNodes.item(0).childNodes.item(21).childNodes.item(0).childNodes.item(page*2).click() page=page+1 else process(search_text) end if case page>1 doc=web.object.document tbl=doc.getElementById("dgResults") rows=tbl.getElementsByTagName("tr") nRows=rows.length for i=1 to nRows-2 search_text=search_text+rows.item(i).innerText+crlf() next if page<nAnchors doc.getElementById("dgResults").childNodes.item(0).childNodes.item(21).childNodes.item(0).childNodes.item(page*2).click() page=page+1 else process(search_text) end if end select end function %code% ui_modeless_dlg_box(dlg_title,<<%dlg% {font=Tahoma,10} {units=f} {can_exit=Close} {startup=Go} {region} Pick any day before today:| [%DATE;P=popup.calendar(dtoc(vStopDate));I=popup.calendar%.14vStopDate!vStopDate_*] |<Get Bookings!Read?mayRead>|{sp}<Clear>{sp=12}<Close>; {endregion}; {line=1,0}; {region} url: {text=48,1url}; {endregion}; {region} {activex=92,18web} {endregion}; %dlg%,<<%code% if a_dlg_button="Go" then web.object.navigate(url) end if if a_dlg_button="Read" then doc=web.object.document doc.forms.Form1.txtBookingDate=vStopDate doc.forms.Form1.btnBookingDate.click() mayRead=.f. end if if a_dlg_button="Clear" then page=0 search_text="" web.object.navigate(url) mayRead=.t. end if if a_dlg_button="Close" then ui_modeless_dlg_close(dlg_title) end if %code%) function process as v (txt as c) ' here you do whatever you want with the results ' i'll just display them here showvar(txt,"Search Text") end function
Comment