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