Solved

Retrieving HTML source from a URL

Posted on 2002-07-17
8
165 Views
Last Modified: 2010-05-02
I've tried the INet control, the WebBrowser control, and the MSHTML library without success.  I simply want to pass in a URL to something and get back the entire HTML source which I can then parse through for my own purposes.  Surely there must be an easy way to do this!
0
Comment
Question by:rmayer
8 Comments
 
LVL 43

Expert Comment

by:TimCottee
ID: 7159849
Use

WebBrowser1.Document.Body.InnerHTML

This should return the HTML source for the URL when the document_complete event is fired.
0
 

Author Comment

by:rmayer
ID: 7159973
But, what method do I use to cause DocumentComplete to fire?  I assume you are using Navigate, but it only works if I make the WebBrowser control Visible.  I don't want it to be visible because I'm only interested in capturing the HTML source.  Any ideas?
0
 
LVL 4

Expert Comment

by:RichW
ID: 7159990
If you're asking how to make sure the readystate is complete:

Do While WebBrowser1.ReadyState < 4 '= READYSTATE_COMPLETE
    DoEvents
Loop

RichW
0
Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

 

Author Comment

by:rmayer
ID: 7160265
But, what method do I use to cause DocumentComplete to fire?  I assume you are using Navigate, but it only works if I make the WebBrowser control Visible.  I don't want it to be visible because I'm only interested in capturing the HTML source.  Any ideas?
0
 
LVL 16

Accepted Solution

by:
Richie_Simonetti earned 33 total points
ID: 7160292
Inet control:

dim sContents as string

sContents=inet1.openurl("http://wwww.domain.com/index.html",icString)



Webbrowser controlary:
As tim close suggested:
on Webbrowser Document_complete event:

if (pdisp is webbrowser1.object) then
   sContents=webbrowser1.document.documentelement.innerhtml
end if

I use documentelement since it returns all the contents (title,head, script and so on) while body only returns Body contents.

Hope it helps
0
 
LVL 75

Expert Comment

by:Anthony Perkins
ID: 7160848
Make a reference to MSXML (v2.6, v3 or v4)
Try this code (it seems to work for me):

Private Sub cmdOK_Click()
Dim httpObj As MSXML2.XMLHTTP

Set httpObj = New MSXML2.XMLHTTP
With httpObj
  .open "GET", "http://www.msn.com", False
  .send
  txtOutput.Text = .responseText
End With
Set httpObj = Nothing

End Sub

Note:  If you are using a prior version to v2.6, than change the code as follows:
Dim httpObj As MSXML.XMLHTTPRequest

Set httpObj = New MSXML.XMLHTTPRequest

Anthony
0
 
LVL 49

Expert Comment

by:DanRollins
ID: 8013844
Hi rmayer,
It appears that you have forgotten this question. I will ask Community Support to close it unless you finalize it within 7 days. I will ask a Community Support Moderator to:

    Split points between: TimCottee and Richie_Simonetti and acperkins@devx
    *** hehehe

rmayer, if you think your question was not answered at all or if you need help, just post a new comment here; Community Support will help you.  DO NOT accept this comment as an answer.

EXPERTS: If you disagree with that recommendation, please post an explanatory comment.
==========
DanRollins -- EE database cleanup volunteer
0
 

Expert Comment

by:SpideyMod
ID: 8096085
per recommendation

SpideyMod
Community Support Moderator @Experts Exchange

TimCottee points added to unclaimed points (almost 500) for you at:
http://www.experts-exchange.com/Programming/Programming_Languages/Visual_Basic/Q_20463697.html

acperkins points added to unclaimed points for you at:
http://www.experts-exchange.com/Programming/Programming_Languages/Visual_Basic/Q_20471358.html
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

If you have ever used Microsoft Word then you know that it has a good spell checker and it may have occurred to you that the ability to check spelling might be a nice piece of functionality to add to certain applications of yours. Well the code that…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

820 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question