设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

123下一页
返回列表 发新帖
查看: 5422|回复: 28
打印 上一主题 下一主题

[模块/函数] 第10000分的帖子:网页元素抓取模块

[复制链接]
跳转到指定楼层
1#
发表于 2014-12-23 17:43:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 roych 于 2014-12-24 15:51 编辑

前段时间在处理些网页抓取的问题,顺带发一个模块给大家。
说明:这里是使用了类名(Class)来抓取,返回字符串后,可以使用split函数切分为数组再写入表字段位置。
1、如需要多页抓取,则需要写循环,详见附件。
2、由于异步情况下,HTML元素返回值跟页面显示不一致,因此不支持ajax。
  1. '*******************************************************************************************************************
  2. '网页抓取数据主程序,获取包含以冒号隔开的某个类的网页元素标识的文本字符串。
  3. '编写:东东
  4. '日期:2014-11-18
  5. '使用说明:需引用HTML库和互联网控件库(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
复制代码
****************************************************
2014-12-24更新:应7楼的要求,以论坛帖子为数据源,附上实例。
****************************************************
游客,如果您要查看本帖隐藏内容请回复


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

本帖被以下淘专辑推荐:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖1 订阅订阅

点击这里给我发消息

2#
发表于 2014-12-23 17:46:15 | 只看该作者
好帖,看看里面的内容
3#
发表于 2014-12-23 18:08:35 | 只看该作者
mark
回复

使用道具 举报

点击这里给我发消息

4#
发表于 2014-12-23 21:21:25 | 只看该作者
回复

使用道具 举报

点击这里给我发消息

5#
发表于 2014-12-23 22:01:40 | 只看该作者
支持!
回复

使用道具 举报

6#
发表于 2014-12-24 07:55:03 | 只看该作者
谢谢分享!!!
回复

使用道具 举报

点击这里给我发消息

7#
发表于 2014-12-24 09:06:16 | 只看该作者
好东西,学习下

点击这里给我发消息

8#
发表于 2014-12-24 09:07:55 | 只看该作者
roych 版主,能否请求做个实例,看一下效果?
9#
发表于 2014-12-24 13:02:14 | 只看该作者
111111
回复

使用道具 举报

10#
发表于 2014-12-25 10:16:55 | 只看该作者
好贴
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-3 02:05 , Processed in 0.097008 second(s), 37 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表