日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

webbrowser抓取php网页源码,获取webbrowser控件 网页的源码(收藏)

發(fā)布時間:2024/9/30 php 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 webbrowser抓取php网页源码,获取webbrowser控件 网页的源码(收藏) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

獲取webbrowser控件 網(wǎng)頁的源碼(收藏)

翻譯|其它|編輯:郝浩|2005-04-28 09:45:00.000|閱讀 3152 次

概述:

我在網(wǎng)上找到使用rft控件保存webbrowse文本 txtHtml是RichTextBox

txtHTML.Text = WebBrowser1.document.body.innerText

'flag :rsftext 保存為txt文件,strtmp文件路徑

txtHTML.saveFile strtmp, rtfText

將其name屬性設(shè)置為web

Private Sub Command1_Click()

web.Navigate "www.google.com"

End Sub

Private Sub web_DocumentComplete(ByVal pDisp As Object, URL As Variant)

Set doc = web.Document

For Each i In doc.All

msgbox typename(i)

Text1.Text = Text1.text & vbclrf & i.innertext

Next

End sub

轉(zhuǎn)載

'引用 Microsoft HTML Object Library

Dim oDoc As HTMLDocument

Dim oElement As Object

Dim oTxtRgn As Object

Dim sSelectedText As String

Set oDoc = WebBrowser1.Document'獲得文檔對象

Set oElement = oDoc.getElementById("T1")'獲得ID="T1"的對象

Set oTxtRgn = oDoc.selection.createRange'獲得文檔當(dāng)前正選擇的區(qū)域?qū)ο?/p>

sSelectedText = oTxtRgn.Text'選擇區(qū)域文本賦值

oElement.Focus'"T1"對象獲得焦點

oElement.Select'全選對象"T1"

Debug.Print "你選擇了文本:" & sSelectedText

上面這段兒還附送了其他功能,呵呵。精簡一下是這樣:

Dim oDoc As Object

Dim oTxtRgn As Object

Dim sSelectedHTML As String

Set oDoc = WebBrowser1.Document '獲得文檔對象

Set oTxtRgn = oDoc.selection.createRange '獲得文檔當(dāng)前正選擇的區(qū)域?qū)ο?/p>

sSelectedHTML = oTxtRgn.htmlText '選擇區(qū)域文本賦值

Text1.Text=sSelectedHTML '文本框顯示抓取得HTML源碼

......'或者繼續(xù)分析源碼

我用WebBrowser取得網(wǎng)頁源碼,直接運行正常,但在編譯后出錯

Private Sub Command1_Click()

WebBrowser1.Navigate "http://www.sdqx.gov.cn/sdcity.php"

End Sub

Private Sub WebBrowser1_DownloadComplete()

'頁面下載完畢Dim doc, objhtml

Set doc = WebBrowser1.Document

Set objhtml = doc.body.createtextrange()

If Not IsNull(objhtml) Then

Text1.Text = objhtml.htmltext

End If

End Sub

我用WebBrowser取得網(wǎng)頁源碼,直接運行正常,但在編譯后出錯

提示:實時錯誤“91” Object 變量或 with 塊變量沒有設(shè)置

可能是沒有下載完所致,

Private Sub WebBrowser1_DownloadComplete()

if webbrowser.busy=false then

Dim doc, objhtml

Set doc = WebBrowser1.Document

Set objhtml = doc.body.createtextrange()

If Not IsNull(objhtml) Then

Text1.Text = objhtml.htmltext

End If

end if

End Sub

你要得網(wǎng)頁源碼用 xmlhttp比較好

先引用 msxml

Dim x As New MSXML2.XMLHTTP

x.open "get", "http://www.sina.com", False

x.send

MsgBox StrConv(x.responseBody, vbUnicode)

我在網(wǎng)上找到使用rft控件保存webbrowse文本 txtHtml是RichTextBox

txtHTML.Text = WebBrowser1.document.body.innerText

'flag :rsftext 保存為txt文件,strtmp文件路徑

txtHTML.saveFile strtmp, rtfText

Private Sub WebBrowser1_DownloadComplete()

Dim objHtml As Object'下載完成時狀態(tài)欄顯示“Link Finished”

Set objHtml = Me.WebBrowser1.Document.Body.Createtextrange()

If Not IsNull(objHtml) Then

Text1.Text = objHtml.htmltext

End If

End Sub

使用inet控件

Source1 = Inet1.OpenURL("www.csdn.net")

If Source1 <> "" Then

RichTextBox1.Text = Source1

Me.Inet1.Cancel

Else

Source = MsgBox("Source code is not available.", vbInformation,

"Source Code")

End If

Private Sub Command1_Click()

Text1.Text = WebBrowser1.Document.body.innerHTML

End Sub

加入timer,commandbutton,text

private sub command1_click()

webbrowser1.navigate http://www.sohu.com/

timer1.enabled=true

end sub

private sub timer1_timer()

dim doc,objhtml as object

dim i as integer

dim strhtml as string

if not webbrowser1.busy then

set doc=webbrowser1.document

i=0

set objhtml=doc.body.createtextrange()

if not isnull(objhtml) then

text1.text=objhtml.htmltext

end if

timer1.enabled=false

end if

end sub

Dim doc, objhtml As Object

If Not webbrowser1.Busy Then

Set doc = webbrowser1.Document

Set objhtml = doc.body.createtextrange()

If Not IsNull(objhtml) Then

text1.text=objhtml.htmltext

End If

Set doc = Nothing

Set objhtml = Nothing

End If

或者試試用InternetReadFile,效果也可以:

Option Explicit

Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (

_

ByVal sAgent As String, ByVal lAccessType As Long, _

ByVal sProxyName As String, ByVal sProxyBypass As String, _

ByVal lFlags As Long) As Long

Private Declare Function InternetOpenUrl Lib "wininet.dll" Alias "InternetOpenUrlA"

( _

ByVal hInternetSession As Long, ByVal sUrl As String, _

ByVal sHeaders As String, ByVal lHeadersLength As Long, _

ByVal lFlags As Long, ByVal lContext As Long) As Long

Private Declare Function InternetReadFile Lib "wininet.dll" ( _

ByVal hFile As Long, ByVal sBuffer As String, _

ByVal lNumBytesToRead As Long, _

lNumberOfBytesRead As Long) As Integer

Private Declare Function InternetCloseHandle Lib "wininet.dll" ( _

ByVal hInet As Long) As Integer

Private Const INTERNET_FLAG_NO_CACHE_WRITE = &H4000000

Dim s

Private Function GetUrlFile(stUrl As String) As String

Dim lgInternet As Long, lgSession As Long

Dim stBuf As String * 1024

Dim inRes As Integer

Dim lgRet As Long

Dim stTotal As String

stTotal = vbNullString

lgSession = InternetOpen("VBTagEdit", 1, vbNullString,

vbNullString, 0)

If lgSession Then

lgInternet =

InternetOpenUrl(lgSession, stUrl, vbNullString, _

0,

INTERNET_FLAG_NO_CACHE_WRITE, 0)

If lgInternet Then

Do

inRes = InternetReadFile(lgInternet, stBuf, 1024, lgRet)

stTotal = stTotal & Mid$(stBuf, 1, lgRet)

Loop While (lgRet <> 0)

End If

inRes = InternetCloseHandle(lgInternet)

End If

GetUrlFile = stTotal

End Function

Private Sub Command1_Click()

Text1.Text = GetUrlFile("http://adsl.tsee.net/teleplay/view.asp?id=143")

End Sub

Set vDoc = WebBrowser1.Document'獲取網(wǎng)頁的源碼

For Each o In vDoc.All

DoEvents

htmlpage = htmlpage & o.innerHTML

Next

然后用寫二進(jìn)制文件的方法將htmlpage的內(nèi)容寫入到.html文件中如果這個網(wǎng)頁中含有框架那么要對框加進(jìn)行處理。

標(biāo)簽:

本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,尊重他人勞動成果

總結(jié)

以上是生活随笔為你收集整理的webbrowser抓取php网页源码,获取webbrowser控件 网页的源码(收藏)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。