按鍵精靈開發教程:解決獲取不到網頁原始檔?

使用命令庫裡的獲取網頁原始檔,提示沒有許可權訪問?返回值是空的?又或者,網頁的內容變化了,但是獲取到的網頁原始檔一直都是第一次啟動時獲取到的?這麼多症狀,還有得救嗎?小編今天分享藥方三帖。這三種方法,小編用著還挺順手的,希望可以幫到大夥兒~

工具/原料

按鍵精靈2014

方法/步驟

藥方一

此方法採用了Microsoft.XMLHttp元件( XMLHTTP是傳送XML格式資料的超文字傳輸協議 )使用步驟一點也不麻煩:

1、建立XMLHTTP物件。2、輸入要網址,並且指定你要對網頁進行的操作:GET/Post (get是從伺服器上獲取資料,post是向伺服器傳送資料。)3、等待返回值。

程式碼:

網頁原始檔=取網頁原始碼(";)

TracePrint 網頁原始檔

Function 取網頁原始碼(URL)

Set objXML=CreateObject("Microsoft.XMLHTTP")

objXML.Open "Get", Url, False

objXML.send

If objXML.readyState=4 then

取網頁原始碼 =objXML.ResponseText

End If

objXML.Abort

Set objXML = Nothing

End Function

程式碼解析:

objXML.Open "Get", Url, False

XMLHTTP物件的Open方法,它的引數是這樣的 bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword 一共五個引數:

bstrMethod: 資料傳送方式,即GET或POST。我們要獲取資料,所以使用GET方式。

bstrUrl: 服務網頁的URL。

varAsync: 是否同步執行。預設為True,即非同步執行。False,即同步執行。我們選擇False,同步執行,意思就是:傳送完要獲取網頁原始檔的指令之後,等待返回值,等值返回了才執行下一句程式碼。

bstrUser: 使用者名稱,可省略。

bstrPassword:使用者口令,可省略。

If objXML.readyState=4 then

XMLHTTP物件的readystate屬性,它的值是0-4:

0  :Response物件已經建立,但XML文件上載過程尚未結束

1  :XML文件已經裝載完畢

2  :XML文件已經裝載完畢,正在處理中

3  :部分XML文件已經解析

4  :文件已經解析完畢,客戶端可以接受返回訊息

藥方二

使用按鍵自帶的web網頁外掛的save命令儲存網頁原始檔。

程式碼:

call Plugin.Web.Bind("wqm.exe")//繫結wqm

Call Plugin.Web.Save(";, "C:\1.txt") //儲存網頁原始檔到c盤下的1.txt文字中

RunApp "C:\1.txt"

注意:此方法有個缺點,那就是,執行過程中會彈出wqm視窗。

按鍵精靈開發教程:解決獲取不到網頁原始檔

藥方三

懶人外掛、365外掛都有讀取網頁原始檔的命令,小編這裡用365外掛的GetWebText 命令做個例子。

使用方法:1、下載365外掛2、解壓之後將:Mini365.dll 這個檔案放到按鍵精靈安卓目錄下的plugin資料夾中 Plugin.Mini365.GetWebText URL,Mode GetWebText命令有兩個引數:網址(URL)和 網頁編碼(Mode) 網頁編碼常見的是:GB2312和UTF-8 如何得知網頁的編碼是哪種呢? 我們開啟網頁,按下F12調出網頁程式碼分析器,綠色圈圈裡的那個GBK就是當前網頁的編碼:

按鍵精靈開發教程:解決獲取不到網頁原始檔

程式碼:

網頁原始檔= Plugin.Mini365.GetWebText (";, "GBk")

TracePrint 網頁原始檔

教程, 網頁, 原始檔, 按鍵精靈,
相關問題答案