欧美vvv,亚洲第一成人在线,亚洲成人欧美日韩在线观看,日本猛少妇猛色XXXXX猛叫

新聞資訊

    【分享成果,隨喜正能量】我們不良的行為、不善的念頭、不好的言語,都屬于我們內心的暴力,要想獲得平和,我們需要自我修習,學會控制情緒,學會內觀反省并接近善良。。

    《VBA信息獲取與處理》教程是我推出第六套教程,目前已經是第一版修訂了。這套教程定位于最高級,是學完初級,中級后的教程。這部教程給大家講解的內容有:跨應用程序信息獲得、隨機信息的利用、電子郵件的發送、VBA互聯網數據抓取、VBA延時操作,剪貼板應用、Split函數擴展、工作表信息與其他應用交互,FSO對象的利用、工作表及文件夾信息的獲取、圖形信息的獲取以及定制工作表信息函數等等內容。程序文件通過32位和64位兩種系統測試。是非常抽象的,更具研究的價值。

    教程共兩冊,八十四講。今日的內容是專題九“利用IE抓取網絡數據”:IE法提取網頁數據

    第一節 利用IE法提取網頁數據基礎

    為了獲取網頁的數據,我們可以通過創建IE控件或控件,結合對象的方法和屬性,模擬瀏覽器操作,獲取瀏覽器頁面的數據。

    這種方法可以模擬大部分的瀏覽器操作。瀏覽器能看到的數據就能用代碼獲取,但是有個致命的缺點:除去各種彈窗相當煩人外,兼容性也確實是個很傷腦筋的問題。在我自己的實踐中感覺這種方法不是很穩定(僅僅是感覺)。

    1 IE模型的創建

    我們在實際工作中遇到網站和網頁相關問題,例如:如何下載網頁數據?網頁之間的通訊是怎么實現的、它們能不能被控制等等。如果你是用VB/VBA/腳本或其它支持自動化對象()的語言編程,有一個值得了解的方法是掌握對象模型:將網頁視為對象來控制,這個方法需要了解的是IE的自動化對象(.)或IE控件( ),以及標準的文檔對象模型()。相關的知識我在前兩個專題中做了大量的講解,這里就不再詳細的說明了。

    我給出下面的代碼:

    Set ie = (".") ’創建對象

    ie. = True ’使IE頁面可見,做完這一步,在VBA之外可以看到一個新的IE

    ie. "about:blank" ’建立一個空白頁

    上面這幾行代碼的作用是創建一個IE應用程序對象,并打開一個空白的網頁。這個網頁獨立于VBA的應用程序(WORD或EXCEL)之外,事實上,你必須自已關掉它,或者用ie.Quit下令退出——注意一下,單純的關閉VBA或SET ie=是不會退出這個網頁的。我們經常用的是將第3行的字符串替換成一個網站的名字,或者替換成一個你主機中的文檔名,也可以是一個圖片名,都是可以的。和你在IE地址欄輸入名稱瀏覽這些文檔是一樣效果。

    vb.net 獲取當前路徑_vb獲取當前網頁數據_vb網頁獲取網頁數據

    如果僅僅是創建了一個空的模型是沒有任何利用的價值的,我們需要真正的網頁,這時就需要我們在VBA的應用程序外打開一個完整的網頁了,直到網頁完全加載我們的操作才能向下進行。

    2 IE網頁頁面的加載

    我們修正一下上面的那段打開空網頁的代碼:

    Sub mynz()

    Set ie = (".") ’創建對象

    ie. = True ’使IE頁面可見,做完這一步,在VBA之外可以看到一個新的IE

    ie. " " ’建立一個空白頁

    Do Until . = 4 '檢查網頁是否加載完畢(4表示完全加載)

    ‘循環中交回工作權限給系統,以免“軟死機”

    Loop

    End sub

    在上面的代碼中增加了幾行:

    Do Until . = 4 '檢查網頁是否加載完畢(4表示完全加載)

    vb網頁獲取網頁數據_vb獲取當前網頁數據_vb.net 獲取當前路徑

    ‘循環中交回工作權限給系統,以免“軟死機”

    Loop

    這幾行代碼可以保證網頁的加載完成,這是根據ie.的返回值來判斷的。

    一共有5中狀態:

    狀態含義說明

    0未初始化對象已建立,但是尚未初始化(尚未調用open方法)

    1初始化對象已建立,尚未調用send方法

    2發送數據send()方法已調用,但是當前的狀態及http頭未知

    3數據傳送中已接收部分數據,因為響應及http頭不全,這時通過和獲取部分數據會出現錯誤

    4數據接收完畢 此時可以通過通過和獲取完整的回應數據

    通過以上的分析,我們可以看出,只用當. = 4時網頁的數據才是有效的數據。

    3 IE頁面數據的獲得

    當網頁加載完畢,剩下的工作就是從網頁中抓取數據了,數據的抓取主要是利用控件對象的屬性和方法。

    vb網頁獲取網頁數據_vb.net 獲取當前路徑_vb獲取當前網頁數據

    1)用Set doc = ie. 取得網頁的文檔對象

    從文檔對象()以下展開的對象模型,它代表網頁的內容,和前面那個IE的應用程序不是同一個體系.

    (文檔)是文檔對象模型,相當于對象中的,取得之后,不論修改網頁還是讀寫網頁,還是觸發事件,一切都好說,每個URL都對應有一個(這是假如定成功導航到那個URL完成,因此之前要求確定IE對象,以確定對應URL的打開了)

    2) 在之下可以取得和body兩個節點。

    可以用下面的語句:

    set xbody=doc.Body ‘取得body對象

    set xDoc=doc. ‘取得根節點

    body前面已經說過,相當于標記的對象,根節點相當于網頁中的標記元素的對象,MHTML的類型庫定義里,它們都屬于類型的對象,下面我把這種類型的對象稱為一個“節點”,不過要注意的是文檔對象不是節點對象,它是類型。根節點和body節點不同的是根節點包括整個網頁,在HTML的文檔對象模型中,這類對象有幾種屬性可以取得其中的內容:

    對象. ‘對象內部的HTML文本

    對象. ‘對象中的HTML文本,包括對象本身的HTML標記在內

    對象. ‘對象內部的TEXT,不包括HTML標記

    對象. ‘同上,包括對象本身的文本

    所以,如果我們要抓取某個網站的所有HTML內容,代碼可以這樣寫:

    vb.net 獲取當前路徑_vb網頁獲取網頁數據_vb獲取當前網頁數據

    set doc=ie.

    set xDoc=doc. ‘取得根節點

    strX=xDoc. ‘取得所有的HTML內容

    3) 每一個標記節點對象之下都有一個名為的集合,它包含了“直屬于本節點下的標記”,就象是文件目錄,根目錄下的子目錄.

    我們可以看到:HTML標記是文檔的根節點,是的集合中的一個成員(不是節點,是另一種類型對象,上一級文檔,但它可以有下級節點集合,正如磁盤可以有下級目錄,但它本身不是目錄),BODY是根節點的集合中的一個成員,而DIV和P兩個節點則是BODY的集合中的兩個成員,同樣也有自己的集合。

    我們要注意:文檔對象模型中,集合與的集合有所不同,集合是從0開始計數的,計數屬性是而不是Count。

    4)除了集合vb獲取當前網頁數據,大家在網頁文檔對象中還常見到的就是很大氣的一種集合:All集合,這是“最糊涂”的一種集合,文檔和各級節點都帶有這個集合,正如這個名字所示,它是不分層次的,但用起來也很方便:

    Set doc=ie.

    Set xCols=doc.All ’取得文檔中的所有節點集合

    Set =doc.body.All ’取得body節點下所有的節點集合

    雖然任何標記節點都有ALL集合,但我們還是喜歡用的ALL,原因無它,文檔最大,一鍋燴的ALL找起來也最合適。ALL查找是有條件的:如果這個標記沒有ID,你無法查到它的名字。

    不過,ALL集合有一個很方便的特性:ID可以掛到ALL集合之下:

    strX=doc.All.mytag.

    vb獲取當前網頁數據_vb網頁獲取網頁數據_vb.net 獲取當前路徑

    5)獲得文檔對象的集合vb獲取當前網頁數據,可以利用下面的方法:

    set =doc. (“div”) ‘取得所有DIV標記,注意還是集合

    6) 文檔對象的FORMS集合,因為大部分網頁的數據提交都是通過FORM標記提交的:

    Set =doc.Forms ’取得所有的FORM標記

    Set frmX=.item(0) ’第1個FORM

    FORM標記節點代表的對象是很多朋友關心的內容——在網頁對象中,它可以發送數據到服務器,使服務器刷新網頁(實際上是服務器按某個格式約定發回數據),我們可以把網頁的FORM看成是一個遠程的函數調用接口,FORM標記中的指向的URL地址就是函數入口,而FORM標記內的各個INPUT標記節點就是函數的參數,當發出FORM.方法時,就是遠程調用函數了,在服務器端,諸如ASP,PHP就是老老實實找FORM的參數,不管你是用GET還是POST:

    frmX. ’相當于用戶在頁面上按下FORM的發送按鍵

    上面我羅列了獲取網頁數據的一般的方法,并沒有什么特別的使用要求,大家可以根據自己的習慣來利用,這個專題之后的內容就是靈活運用這些知識點來解決實際問題了。

    本節知識點回向:

    如何提交表單?如何下載圖片的地址?如何獲得表的數據?

    【分享成果,隨喜正能量】得意之時淡然,失意之時坦然,順風順水的時候需要一種內斂和沉穩,遭遇逆境和挑戰的時候,要有一份舉重若輕、生命昂揚的生命展望,就算匍匐于歲月塵埃,也要仰望生命的星辰燦爛。 ???。

    我20多年的VBA實踐經驗,全部濃縮在下面的各個教程中,教程學習順序:

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有