ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[原创] 不懂html也来学网抓(xmlhttp/winhttp+fiddler)

    [复制链接]

TA的精华主题

TA的得分主题

发表于 2014-12-1 13:58 | 显示全部楼层
本帖已被收录到知识树中,索引项:网页交互
wcymiss 发表于 2014-12-1 10:08

吴老师,附件中是我抓图书的类别 和 按类别ID循环抓各类别的总数,我尝试把您提供的frmid代码放进去,获取那个和时间有关的数字(其实像您说的,不用这个frmid确实能够获得这些数据,我就是想看看加上这个动态参数会怎么样),但出现“自动化”错误,不知哪里出错了,麻烦您有空帮我看看,谢谢 抓图书类别和总数.rar (23.49 KB, 下载次数: 10)

点评

ruidIndex没定义。  发表于 2014-12-1 14:19

TA的精华主题

TA的得分主题

发表于 2014-12-1 14:34 | 显示全部楼层
renahu 发表于 2014-12-1 13:58
吴老师,附件中是我抓图书的类别 和 按类别ID循环抓各类别的总数,我尝试把您提供的frmid代码放进去,获取 ...

唉,错误太低级了,谢谢老师,不过他的错误提示也太奇怪了,还自动化错误

终于学到点 通过html对象利用网页中的公式进行计算的方法,感觉很朦胧,只能照猫画虎,没完全理解,比如父窗体求值.parentWindow,老师能不能给推荐个网址,想了解一下html对象的使用方法

点评

http://msdn.microsoft.com/en-us/library/hh772374(v=vs.85).aspx  发表于 2014-12-1 14:53

TA的精华主题

TA的得分主题

发表于 2014-12-1 14:39 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
renahu 发表于 2014-12-1 13:58
吴老师,附件中是我抓图书的类别 和 按类别ID循环抓各类别的总数,我尝试把您提供的frmid代码放进去,获取 ...

我就没明白这个网站弄这么个动态参数,目的何在呀,不用提起,就用同一个参数,把它当成静态的不是一样可以抓取吗,呵呵,弄这么个数唬人的吧?

点评

连POST都不是唬人的。.Open "GET", "http://www.rtshutu.com/basedata/format/release/aspx/1aecf7e5000b940bce.aspx?&pinst=1ad691ca0000cc0bce&navruid=" & brr(i, 0), False  发表于 2014-12-1 14:52

TA的精华主题

TA的得分主题

发表于 2014-12-1 14:52 | 显示全部楼层
wcymiss 发表于 2014-11-18 15:30
getm32str函数所在js文件名:
https: //passport.58.com/js/v6/source/828ef34c77a2cbed693ba874ce570df ...

https: //passport.58.com/rsa/ppt_security.js  这个js文件的代码包含了JQuery的语法

吴老师,所谓JQuery的语法大概特点是不是前面带$?,比如我网上查到的:$("#test").hide(),是不是看到有这种标记的句子就考虑下载JQuery文件?

点评

差不多。  发表于 2014-12-1 14:56

TA的精华主题

TA的得分主题

发表于 2014-12-1 15:02 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
renahu 发表于 2014-12-1 14:39
我就没明白这个网站弄这么个动态参数,目的何在呀,不用提起,就用同一个参数,把它当成静态的不是一样可 ...

连POST都不是唬人的。.Open "GET", "http://www.rtshutu.com/basedata/format/release/aspx/1aecf7e5000b940bce.aspx?&pinst=1ad691ca0000cc0bce&navruid=" & brr(i, 0), False

没明白什么意思

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-12-1 15:59 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 wcymiss 于 2014-12-1 16:07 编辑
renahu 发表于 2014-12-1 15:02
连POST都不是唬人的。.Open "GET", "http://www.rtshutu.com/basedata/format/release/aspx/1aecf7e5000b ...
  1. Sub 抓图书类别和总数()
  2.     Dim i As Integer
  3.     Dim strText As String
  4.     Dim arr, brr()
  5.     Dim objWB As Object
  6.     Dim objHTTP As Object
  7.     Const strURL As String = "http://www.rtshutu.com/basedata/format/release/aspx/1aecf7e5000b940bce.aspx?pinst=1ad691ca0000cc0bce&navruid="
  8.     Const ParentNavruid As String = "1ad180a50009a40bce"
  9.    
  10.     Set objWB = Sheets("分类数据")
  11.     Set objHTTP = CreateObject("MSXML2.XMLHTTP")
  12.    
  13.     With objHTTP
  14.         .Open "GET", strURL & ParentNavruid, False
  15.         .Send
  16.         arr = Split(.ResponseText, "div class=""navseccl"" id=""")
  17.         
  18.         ReDim brr(0 To UBound(arr), 0 To 2)
  19.         brr(0, 0) = ParentNavruid
  20.         brr(0, 1) = "全部"
  21.         brr(0, 2) = Split(Split(arr(UBound(arr)), "readonly=""true"">")(1), "<")(0)
  22.         
  23.         For i = 1 To UBound(arr)
  24.             brr(i, 0) = Split(arr(i), """>")(0)
  25.             brr(i, 1) = Split(Split(arr(i), """ title=""")(1), """")(0)
  26.             .Open "GET", strURL & brr(i, 0), False
  27.             .Send
  28.             brr(i, 2) = Split(Split(.ResponseText, "readonly=""true"">")(1), "<")(0)
  29.         Next
  30.     End With
  31.    
  32.     With objWB
  33.         .Range("a6:c" & .Rows.Count).ClearContents
  34.         .[a6:c6] = [{"类别ID","类别","总数"}]
  35.         .[a7].Resize(UBound(brr) + 1, 3) = brr
  36.     End With
  37.    
  38.     Set objWB = Nothing
  39.     Set objHTTP = Nothing
  40. End Sub
复制代码
不过这个网站用POST的话速度快。因为它的responsetext的字节少。

TA的精华主题

TA的得分主题

发表于 2014-12-1 16:24 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 renahu 于 2014-12-2 15:40 编辑
wcymiss 发表于 2014-12-1 15:59
不过这个网站用POST的话速度快。因为它的responsetext的字节少。

但 post 有个 XML参数,太长了,还是老师这个简单,看着舒服

我的58同城的终于可以登录了,发个附件(含账号),供大家练习用吧

我怎么发现有的时候总是提示登录不成功,如果你去网页手动登录后,就算再退出,你用程序登录就会总是成功,很奇怪


今晚好像全面改版了,这几个参数全部玩儿失踪,这个58今天早上又好了,搞什么名堂
又搞了一个赶集网登陆,感觉太简单,都有点怀疑是否真登陆上了,让吴老师给看看

登陆练习2.rar (27.48 KB, 下载次数: 33)


TA的精华主题

TA的得分主题

发表于 2014-12-2 11:46 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
wcymiss 发表于 2014-12-1 15:59
不过这个网站用POST的话速度快。因为它的responsetext的字节少。

吴老师,我发现163改版后,真是太难登陆了,我感觉参数 rcode应该是加了密的登陆密码,可就是搜索不到这个参数,如果某个参数总也搜索不到,一般有什么对策?

点评

刚测试,没发现有改版。用原来的代码依然能够登录、查询、发邮件。  发表于 2014-12-2 13:24

TA的精华主题

TA的得分主题

发表于 2014-12-2 13:05 | 显示全部楼层
wcymiss 发表于 2014-12-1 15:59
不过这个网站用POST的话速度快。因为它的responsetext的字节少。

吴老师,觉赶集网没有真正登陆上,必须手动登陆后,才能通过代码查个人信息,一旦退出,并清历史记录
把excel重启,执行代码,提示验证不成功

TA的精华主题

TA的得分主题

发表于 2014-12-2 13:29 | 显示全部楼层
wcymiss 发表于 2014-12-1 15:59
不过这个网站用POST的话速度快。因为它的responsetext的字节少。

163原来那个地址在fiddler里已经找不到了,现在用fiddler查到的地址很难登陆上
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-25 10:16 , Processed in 0.039185 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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