DIDD0
asked on
WEB RIPPER
I am trying to make a web ripper in VB 6.0...what i need it to do is the following...
http://www.codeshq.com/showthread.php?threadid=6116
first rip that site..l.take all the information off of it...no need for pics...just the text...i dont care if it looks ugly or not...preferably take just the codes...but really it doesnt matter...if you cann make it take just the codes i give extra points...anyways...after that i need it to rip
http://www.codeshq.com/showthread.php?threadid=6117
then
http://www.codeshq.com/showthread.php?threadid=6118
then
http://www.codeshq.com/showthread.php?threadid=6119
and i need it to go all the way to
http://www.codeshq.com/showthread.php?threadid=6843
so basically just keep making the last number go up by one...do u understand...if not post a question...lots of points for this...
thanks in advanced...
Chris
http://www.codeshq.com/showthread.php?threadid=6116
first rip that site..l.take all the information off of it...no need for pics...just the text...i dont care if it looks ugly or not...preferably take just the codes...but really it doesnt matter...if you cann make it take just the codes i give extra points...anyways...after that i need it to rip
http://www.codeshq.com/showthread.php?threadid=6117
then
http://www.codeshq.com/showthread.php?threadid=6118
then
http://www.codeshq.com/showthread.php?threadid=6119
and i need it to go all the way to
http://www.codeshq.com/showthread.php?threadid=6843
so basically just keep making the last number go up by one...do u understand...if not post a question...lots of points for this...
thanks in advanced...
Chris
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I get an error...
Runtime error
sometimes i get this one:
Content = Mid(Content, POS1, POS2 - POS1)
and most of the time i get an error on this
While IE.busy: DoEvents: Wend
any help??? thanks
Runtime error
sometimes i get this one:
Content = Mid(Content, POS1, POS2 - POS1)
and most of the time i get an error on this
While IE.busy: DoEvents: Wend
any help??? thanks
How many did it fetch before the error ? Take a look at the last file the view the results
This part of the code is ment to extract the codes from the page, try without it :
Dim POS1 As Long: Dim POS2 As Long: Dim TITLE As String
POS1 = InStr(1, Content, "Game Genie codes >", vbTextCompare) + Len("Game Genie codes >") + 1
POS2 = InStr(POS1, Content, vbCrLf)
TITLE = Mid(Content, POS1, POS2 - POS1)
POS1 = InStr(1, Content, "Posts:", vbTextCompare) + 5
POS1 = InStr(POS1, Content, vbCrLf) + 2
POS2 = InStr(POS1, Content, "__________________")
Content = Mid(Content, POS1, POS2 - POS1)
If the page does not contain the words "Game Genie codes >" or "Posts:" it could give errors
Dim POS1 As Long: Dim POS2 As Long: Dim TITLE As String
POS1 = InStr(1, Content, "Game Genie codes >", vbTextCompare) + Len("Game Genie codes >") + 1
POS2 = InStr(POS1, Content, vbCrLf)
TITLE = Mid(Content, POS1, POS2 - POS1)
POS1 = InStr(1, Content, "Posts:", vbTextCompare) + 5
POS1 = InStr(POS1, Content, vbCrLf) + 2
POS2 = InStr(POS1, Content, "__________________")
Content = Mid(Content, POS1, POS2 - POS1)
If the page does not contain the words "Game Genie codes >" or "Posts:" it could give errors
ASKER
thew main error i get is with the while ie.busy: do events: wend
the error is "automation error"
the error is "automation error"
ASKER
uym like 2 at most...usually just 1
When i run this code it goes endlessly end stores every pages code to the harddrive. I don't get it why i doesn't work out for you. Try setting "IE.Visible = False" to "IE.Visible = True" then you can see what happens. Amd try testing it afer compilation, maybe the errors are raised within the VB IDE.
ASKER
i think it is my internet doesnt load fast enough...o well i will try it at school...although my internet is 3000 megabits/sec so im not sure...anyways my friend could probably do it...il try it in some places and report back to you...thanks man...u get the points...dont worry!
ASKER
ok i made it work
here is my code
Dim I As Long
Private Sub Form_Load()
I = 6116
End Sub
Private Sub Timer1_Timer()
If I = 6844 Then
MsgBox "Done", , "Message"
Else
I = I + 1
FetchPage I
End If
End Sub
Private Function FetchPage(ID As Long)
On Error GoTo ErrHandler
Dim IE As Object: Dim Content As String
Set IE = CreateObject("internetexpl orer.appli cation")
IE.Visible = True ' True if you wish to see it all happen
IE.navigate "http://www.codeshq.com/showthread.php?threadid=" & ID
While IE.busy: DoEvents: Wend
' There are two methods to retrieve document info,
' innerHTML which only show the displayed text and
' outerHTML which show the entire HTML code behind the page.
Content = IE.document.documentelemen t.innertex t
' Content = IE.document.documentelemen t.outerhtm l
IE.quit
Dim POS1 As Long: Dim POS2 As Long: Dim TITLE As String
POS1 = InStr(1, Content, "Game Genie codes >", vbTextCompare) + Len("Game Genie codes >") + 1
POS2 = InStr(POS1, Content, vbCrLf)
TITLE = Mid(Content, POS1, POS2 - POS1)
POS1 = InStr(1, Content, "Posts:", vbTextCompare) + 5
POS1 = InStr(POS1, Content, vbCrLf) + 2
POS2 = InStr(POS1, Content, "__________________")
Content = Mid(Content, POS1, POS2 - POS1)
Open "c:\temp\" & TITLE & ".txt" For Output As #1
Print #1, Content
Close #1
DoEvents
Exit Function
ErrHandler:
End Function
here is my code
Dim I As Long
Private Sub Form_Load()
I = 6116
End Sub
Private Sub Timer1_Timer()
If I = 6844 Then
MsgBox "Done", , "Message"
Else
I = I + 1
FetchPage I
End If
End Sub
Private Function FetchPage(ID As Long)
On Error GoTo ErrHandler
Dim IE As Object: Dim Content As String
Set IE = CreateObject("internetexpl
IE.Visible = True ' True if you wish to see it all happen
IE.navigate "http://www.codeshq.com/showthread.php?threadid=" & ID
While IE.busy: DoEvents: Wend
' There are two methods to retrieve document info,
' innerHTML which only show the displayed text and
' outerHTML which show the entire HTML code behind the page.
Content = IE.document.documentelemen
' Content = IE.document.documentelemen
IE.quit
Dim POS1 As Long: Dim POS2 As Long: Dim TITLE As String
POS1 = InStr(1, Content, "Game Genie codes >", vbTextCompare) + Len("Game Genie codes >") + 1
POS2 = InStr(POS1, Content, vbCrLf)
TITLE = Mid(Content, POS1, POS2 - POS1)
POS1 = InStr(1, Content, "Posts:", vbTextCompare) + 5
POS1 = InStr(POS1, Content, vbCrLf) + 2
POS2 = InStr(POS1, Content, "__________________")
Content = Mid(Content, POS1, POS2 - POS1)
Open "c:\temp\" & TITLE & ".txt" For Output As #1
Print #1, Content
Close #1
DoEvents
Exit Function
ErrHandler:
End Function
ASKER