設(shè)為首頁收藏本站Access中國

Office中國論壇/Access中國論壇

 找回密碼
 注冊

QQ登錄

只需一步,快速開始

123下一頁
返回列表 發(fā)新帖
查看: 6306|回復(fù): 28
打印 上一主題 下一主題

[模塊/函數(shù)] 第10000分的帖子:網(wǎng)頁元素抓取模塊

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2014-12-23 17:43:13 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
本帖最后由 roych 于 2014-12-24 15:51 編輯

前段時(shí)間在處理些網(wǎng)頁抓取的問題,順帶發(fā)一個(gè)模塊給大家。
說明:這里是使用了類名(Class)來抓取,返回字符串后,可以使用split函數(shù)切分為數(shù)組再寫入表字段位置。
1、如需要多頁抓取,則需要寫循環(huán),詳見附件。
2、由于異步情況下,HTML元素返回值跟頁面顯示不一致,因此不支持ajax。
  1. '*******************************************************************************************************************
  2. '網(wǎng)頁抓取數(shù)據(jù)主程序,獲取包含以冒號隔開的某個(gè)類的網(wǎng)頁元素標(biāo)識的文本字符串。
  3. '編寫:東東
  4. '日期:2014-11-18
  5. '使用說明:需引用HTML庫和互聯(lián)網(wǎng)控件庫(Internet Control)。
  6. 'wb:WebBrowser組件,返回Object
  7. 'strURL:URL地址,字符串類型
  8. 'strClassName:類名稱,字符串類型
  9. 'isID:是否獲取寶貝ID,布爾值類型
  10. '如:myData(Me.Webbrowser0,"http://www.Tmall.com,"DIV",False)
  11. '*******************************************************************************************************************
  12. Function myData(ByVal wb As WebBrowser, ByVal strURL As String, ByVal strClassName As String, Optional ByVal isID As Boolean=False)
  13. Dim doc As HTMLDocument
  14. Dim eles As IHTMLElementCollection
  15. Dim ele As IHTMLElement
  16. Dim str As String

  17. wb.Navigate strURL

  18. Do Until wb.ReadyState = READYSTATE_COMPLETE
  19.     DoEvents
  20. Loop

  21. Set doc = wb.Document
  22. Set eles = doc.getElementsByClassName(strClassName)

  23. For Each ele In eles
  24.     If isID Then
  25.         str = str & ":" & Right(ele.getAttribute("href"), 11)
  26.     Else
  27.         str = str & ":" & ele.innerText
  28.     End If
  29. Next
  30. myData = str
  31. End Function
復(fù)制代碼
****************************************************
2014-12-24更新:應(yīng)7樓的要求,以論壇帖子為數(shù)據(jù)源,附上實(shí)例。
****************************************************
游客,如果您要查看本帖隱藏內(nèi)容請回復(fù)


本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?注冊

x

本帖被以下淘專輯推薦:

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享分享 分享淘帖1 訂閱訂閱

點(diǎn)擊這里給我發(fā)消息

2#
發(fā)表于 2014-12-23 17:46:15 | 只看該作者
好帖,看看里面的內(nèi)容
3#
發(fā)表于 2014-12-23 18:08:35 | 只看該作者
mark
回復(fù)

使用道具 舉報(bào)

點(diǎn)擊這里給我發(fā)消息

4#
發(fā)表于 2014-12-23 21:21:25 | 只看該作者
回復(fù)

使用道具 舉報(bào)

點(diǎn)擊這里給我發(fā)消息

5#
發(fā)表于 2014-12-23 22:01:40 | 只看該作者
支持!
回復(fù)

使用道具 舉報(bào)

6#
發(fā)表于 2014-12-24 07:55:03 | 只看該作者
謝謝分享。!
回復(fù)

使用道具 舉報(bào)

點(diǎn)擊這里給我發(fā)消息

7#
發(fā)表于 2014-12-24 09:06:16 | 只看該作者
好東西,學(xué)習(xí)下

點(diǎn)擊這里給我發(fā)消息

8#
發(fā)表于 2014-12-24 09:07:55 | 只看該作者
roych 版主,能否請求做個(gè)實(shí)例,看一下效果?
9#
發(fā)表于 2014-12-24 13:02:14 | 只看該作者
111111
回復(fù)

使用道具 舉報(bào)

10#
發(fā)表于 2014-12-25 10:16:55 | 只看該作者
好貼
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則

QQ|站長郵箱|小黑屋|手機(jī)版|Office中國/Access中國 ( 粵ICP備10043721號-1 )  

GMT+8, 2024-10-23 10:21 , Processed in 0.124025 second(s), 37 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表