乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      VBS做網(wǎng)頁采集(轉(zhuǎn)載)

       求知881 2017-01-05

      標(biāo)簽:

       

      一、vbs 解析 html 文檔

      原文地址:http://www.cnblogs.com/52cik/p/vbs-parse-html.html

       

      關(guān)于VBS采集,網(wǎng)上流行比較多的方法都是正則,其實(shí) htmlfile 可以解析 html 代碼,但如果 designMode 沒開啟的話,有時(shí)候會(huì)包安全提示信息。
      但是開啟 designMode (@預(yù)言家晚報(bào) 分享的方法) 的話,所有js都不會(huì)被執(zhí)行,只是干干凈凈的dom文檔,所以在逼不得已的情況下開啟 designMode 一般情況保持默認(rèn)即可。

      Set html = CreateObject("htmlfile") 
      Set http = CreateObject("Msxml2.ServerXMLHTTP") 
      html.designMode = "on"  開啟編輯模式 
      http.open "GET", "http://www.cnblogs.com/", False 
      http.send 
      strHtml = http.responseText 
      html.write strHtml  寫入數(shù)據(jù) 
      Set post_list = html.getElementById("post_list") 
      For Each el In post_list.children     WScript.Echo el.getElementsByTagName("a")(0).innerText 
      Next

       

      技術(shù)分享

      其實(shí)方法很簡單,但是重點(diǎn)是會(huì)vbs的,卻不一定都會(huì) dom 操作,所以這個(gè)很糾結(jié)。
      我也沒辦法,只能靠你們自己了,我只是分享一下思路而已、

      這樣解析 html 比正則方便快捷多了。

       

       

      二、vbs 解析 json jsonp 方法

      原文地址:http://www.cnblogs.com/52cik/p/vbs-parse-json.html

       

      昨天說了下用 htmlfile 來解析 html,今天依然用他來解析,htmlfile 是一個(gè) COM 版的 BOM 和 DOM,所以解析 html, 執(zhí)行 js 完全不在話下,
      今天就繼續(xù)解析 json 和 jsonp 吧。

      我收集了三種常見 json jsonp 的格式,因?yàn)楹芏嗳苏椅艺f如何用正則提取某個(gè)字符串,我看了下,要么是json,要么是jsonp,
      正則簡直浪費(fèi),比如那種空間里說說的數(shù)據(jù),上百條的信息,你正則個(gè)P,而且還有回復(fù)里的格式也差不多的,所以最好的方法還是解析。

      先來看看常見的三種吧:
      酷我音樂用戶信息 json 格式
      http://kzone.kuwo.cn/mlog/UserVal?uid=1237357&from=profile

      {"work":4,"fans":275,"lp":"{\"id\":1237357,\"username\":\"亂碼\",\"pic\":\"http://img3.kuwo.cn/star/userhead/57/55/1315554310390_1237357m.jpg\"}","art":4,"album":1,"fortune":342402,"article":0,"workVideo":1,"care":195,"workAudio":3,"view":1312997,"playlist":0,"listen":278962,"collect":1}

      拍拍手機(jī)查詢接口 jsonp 格式

      http://virtual./extinfo/GetMobileProductInfo?mobile=13012345678&amount=10000&callname=cb

      cb({mobile:‘13012345678‘,province:‘重慶‘,isp:‘中國聯(lián)通‘,stock:‘1‘,amount:‘10000‘,maxprice:‘0‘,minprice:‘0‘});

      搜狐IP信息 js 格式

      http://pv.sohu.com/cityjson

      var returnCitySN = {"cip": "218.72.14.14", "cid": "330100", "cname": "浙江省杭州市"};

      這幾種合適都可以通過 htmlfile 來解析,但是方法稍微有點(diǎn)差異。

      先來解析第一種 json 格式的吧。

      Set html = CreateObject("htmlfile") 
      Set http = CreateObject("Msxml2.ServerXMLHTTP") 
      http.open "GET", "http://kzone.kuwo.cn/mlog/UserVal?uid=1237357&from=profile", False 
      http.send 
      strHtml = http.responseText  得到數(shù)據(jù) 
      Set window = html.parentWindow 
      window.execScript "var json = " & strHtml, "JScript"  解析 json 
      Set kuwo = window.json  獲取解析后的對象 
      WScript.Echo "訪問量:", kuwo.view, " 財(cái)富:", kuwo.fortune

      可以得到如下信息。

      技術(shù)分享

      再來看看 jsonp 的解析,jsonp其實(shí)只是多了一個(gè)回調(diào)函數(shù)而已,所以我們自定義一個(gè)函數(shù)解析他就可以了。

      Set html = CreateObject("htmlfile") 
      Set http = CreateObject("Msxml2.ServerXMLHTTP") 
      callback = "cb" 
      url = "http://virtual./extinfo/GetMobileProductInfo?mobile=13012345678&amount=10000&callname=" & callback 
      http.open "GET", url, False 
      http.send 
      strHtml = http.responseText  得到數(shù)據(jù)  cb({mobile:‘13012345678‘,province:‘重慶‘,isp:‘中國聯(lián)通‘,stock:‘1‘,amount:‘10000‘,maxprice:‘0‘,minprice:‘0‘});  <!--[if !IE]>|xGv00|8030d7c308afc4a32846a715ff79e9a3<![endif]-->  得到的是這樣的數(shù)據(jù),所以要處理下 
      strHtml = Split(strHtml, vbLf)(0)  取第一行 
      Set window = html.parentWindow 
      window.execScript "function " & callback & "(o){json=o}", "JScript"  jsonp 回調(diào)函數(shù)、 
      window.execScript strHtml, "JScript"  解析 json 
      Set json = window.json  獲取解析后的對象 
      WScript.Echo json.mobile, json.isp, json.province

       

      可以得到如下信息。

      技術(shù)分享

      最后看下 js 格式解析,這個(gè)是最簡單的,什么都不用做,但是你要知道他的變量名。

      Set html = CreateObject("htmlfile") 
      Set http = CreateObject("Msxml2.ServerXMLHTTP") 
      http.open "GET", "http://pv.sohu.com/cityjson", False 
      http.send 
      strHtml = http.responseText  得到數(shù)據(jù)  得到 var returnCitySN = {"cip": "218.72.14.14", "cid": "330100", "cname": "浙江省杭州市"}; 
      Set window = html.parentWindow 
      window.execScript strHtml, "JScript"  解析 js 
      Set js = window.returnCitySN  獲取解析后的對象 
      WScript.Echo js.cname, js.cip, js.cid

      可以得到如下信息。

      技術(shù)分享

      js 格式的是最簡單的,但要注意,變量名是他定的,所以你在 獲取解析后的對象 那一步,要寫上他的變量名。
      json 格式,我們只要給他加上變量名然后解析即可。
      jsonp 相對麻煩點(diǎn),因?yàn)橐獙懸粋€(gè)自定義回調(diào)函數(shù)。

      總的來說,方法差不多,只是解析部分稍微有點(diǎn)不同而已。
      用 htmlfile 解析,是不是比 正則 方便?

      以后玩 POST 別再用落伍的 instr+mid 或者 正則 去解析 html json了, htmlfile 才是王道。

      VBS做網(wǎng)頁采集(轉(zhuǎn)載)

      標(biāo)簽:

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請遵守用戶 評(píng)論公約

        類似文章 更多