ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: ldy

[原创] 网页分析不求人 附 分析工具 实例

  [复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-12-13 20:31 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
Private Sub CommandButton26_Click()
    Set dmt = WebBrowser1.Document
    k = 2
    For i = 0 To dmt.all.tags("table").Length - 1
        If InStr(dmt.all.tags("table")(i).innerText, "笔订单资料") > 0 Then
            Set R = dmt.all.tags("table")(i).Rows
set   obj = dmt.all.tags("table")(i)
msgbox "在本地窗口中查看 obj 的那\哪个属性是所需要的,然后自己修改!!!!!!!!!"
stop
            Sheet3.Cells(k, 1) = dmt.all.tags("table")(i).Caption.innerText
            For j = 0 To R(0).Cells.Length - 1
                Sheet3.Cells(j + k, 3) = R(0).Cells(j).innerText
                k = k + 1
            Next
        End If
    Next
End Sub

TA的精华主题

TA的得分主题

发表于 2009-12-14 16:04 | 显示全部楼层
谢谢版主的回复,刚才又回过头来看版主的分析工具。由于工具中的网址无法进入,改用了这个网址进入
http://baidu.hexun.com/stock/sort_all.php?sh_sz=0&isB=0

看来分析操作的文字,找了下没有找到cells。以下这些文字的说明能否麻烦楼主用图解的方式说明下,谢谢楼主!~
别不好意思,我也是学VBA半年后才会在 代码界面 的 视图菜单 中找到用 本地窗口 的,又过了3个月才明白它的妙处。
本地窗口中 看到一个 T 前面有个+号,点击+号展开………… 100 多个属性,都是按字母顺序排列的,先找熟悉的吧,
很快,看到个 cells 属性,前面也有个+号,点开,看到length属性(相当于VBA中的count)=192,下面跟着 Item1到 Item192,
前面也都有个+号 。这个表 16行 12 列  16*12可不就等于 192,还是要编个函数去去拆分??
对了,还有个熟人 row,刚才cell 变cells 那row不会也变成 rows吧? 果然有个rows 点开+号 length =16 刚好16 行,跟着item1-16
点开item1的+号,又是100多属性,再次见到熟人,也有cells 点开+号  length = 12 嘿嘿,刚好12列,跟着item1-12 再点开 item1的+号
又是一堆属性,怎么老是这么多属性,看吧,……
看到 "序号"了 ,又看到"序号",又看到"序号",好几个地方都写着"序号",回头瞄了一眼网页上的那个表,第1行第1列 正是 "序号"
至此 这个table的中的有用数据是如何存放的 都搞清楚了,其他数据用两个循环嵌套就像在工作表中取值一样。一串简洁高效的代码出现了
    Set dmt = WebBrowser1.Document
    Set R = dmt.all.tags("table")(4).Rows
    For i = 0 To R.Length - 1
        For j = 0 To R(i).Cells.Length - 1
            Sheet3.Cells(i + 1, j + 1) = R(i).Cells(j).innerText
        Next
    Next

[ 本帖最后由 zhua 于 2009-12-14 16:07 编辑 ]

TA的精华主题

TA的得分主题

发表于 2009-12-21 10:09 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-12-21 13:58 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
初学者有福了!

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-1-2 18:32 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

回复 926楼 舒琼 的帖子

你提供的链接我看了,是aspx的,如果用xmlhttp 需要获取页面中的base64加密的内容,就是源文件中那一大块乱码。
然后在post + Send +参数 获取下一页, 比较麻烦,最近好几天没上网了,事情太多。
建议你用WEB 或IE打开,然后模拟点击下一页。

TA的精华主题

TA的得分主题

发表于 2010-1-8 22:23 | 显示全部楼层
LDY版主啊,
http://product.pconline.com.cn/case/?frame
这个网页,全部分析怎么在SHEET分析里 ,只有前面8行,下面没有数据出来?

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-1-10 13:29 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
原帖由 zuike 于 2010-1-8 22:23 发表
LDY版主啊,
http://product.pconline.com.cn/case/?frame
这个网页,全部分析怎么在SHEET分析里 ,只有前面8行,下面没有数据出来?


这是框架套框架的网页,比较特殊,需要修改代码,找到窗体中 sub D() 过程

Sub D()
    Dim dmt As HTMLDocument
    Dim htMent As HTMLCommentElement   '       As IHTMLElementCollection
    Dim i As Integer
    Set dmt = WebBrowser1.Document
    Set dmt = dmt.all(6)  ' 加上这一句 再进行分析
下面相同,略。。。。

TA的精华主题

TA的得分主题

发表于 2010-1-13 10:16 | 显示全部楼层
新手,只能理解一点,不知如何应用到代码中,若有具体实例就好,附件中实例不会。慢慢学习。请版主写个代码做参考,谢谢。

[ 本帖最后由 lskuanye 于 2010-1-13 10:59 编辑 ]

Book1.rar

31.24 KB, 下载次数: 21

TA的精华主题

TA的得分主题

发表于 2010-1-14 10:59 | 显示全部楼层
我用工具分析结果如附件,从网页http://stock.jrj.com.cn/cominfo/ ... &or_gpdm=000039中提取表格,请版主写个代码做参考,谢谢。

Book1.rar

38.5 KB, 下载次数: 29

TA的精华主题

TA的得分主题

发表于 2010-1-15 00:30 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
谢谢LDY版主的回复.
问题继续,网站 http://product.pconline.com.cn/case/?frame
Sub D()
    Dim dmt As HTMLDocument
    Dim htMent As HTMLCommentElement   '       As IHTMLElementCollection
    Dim i As Integer
    Set dmt = WebBrowser1.Document
    Set dmt = dmt.all(6)  ' 加上这一句 再进行分析
分析出来了,下面是如何应用的问题.
我想到得到的是网页中产品的型号,
例:
动力火车 绝尘侠X3 ·商家报价(10) ·网友成交价
要得到 动力火车 绝尘侠X3
请抽空解答
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-10-6 00:33 , Processed in 0.043110 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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