ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[分享] 网页抓取分享

  [复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-10-14 10:25 | 显示全部楼层
喜欢网抓的看似不多。今天暂分享至此

TA的精华主题

TA的得分主题

发表于 2014-10-14 10:28 | 显示全部楼层
驻足学习.那些createobject为什么都不一样的?想了解,不得其法啊!

TA的精华主题

TA的得分主题

发表于 2014-10-14 10:31 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
师傅一出手,就知有没有!顶

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-10-14 10:33 | 显示全部楼层
http://club.excelhome.net/thread-975124-1-1.html
该文有介绍

1、XmlHttp对象法——服务器上的抓取(比较适用于无防盗链)
2、InternetExplorer对象法——浏览器上的抓取(比较适用于服务器的脚本有COOKIE要求的、服务器有防盗链)
3、ScriptControl对象法——显示器上的抓取(比较适用于浏览器的脚本有COOKIE要求的、浏览器有防盗链)
4、QueryTables对象法——链接器上的抓取(Web的综合性运用,直接和间接QT)
其中:在显示器环节上的抓取(第三种下载到本地的做法),是实现“只要看得到,就能抓得到”的最简易、最无障碍的“全能通”方法,网抓必学DD。
XH抓不下来,那就可能服务器有防盗链,就用IE法;IE抓不下来,那就可能浏览器有防盗链,就用脚本法;最后,首选QT抓数据,因为QT最快,数据最不会误错。

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-10-14 11:10 | 显示全部楼层
czh7971 发表于 2014-10-14 09:02
大神啊,能否指示下怎么获得这些链接呢?

fiddler工具分析,取得真实地址。

TA的精华主题

TA的得分主题

发表于 2014-10-14 12:07 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
onlycxb 发表于 2014-10-14 10:16
分享4:论坛问题http://club.excelhome.net/thread-1158114-1-1.html
         抓取东方财富网数据

第7句代码“xml As New MSXML2.XMLHTTP”出错,弹出的错误提示为“User-defined-type not defined”——是否需要添加什么引用?还是需要下载安装什么东东?

TA的精华主题

TA的得分主题

发表于 2014-10-14 12:31 | 显示全部楼层
VBA万岁 发表于 2014-10-14 12:07
第7句代码“xml As New MSXML2.XMLHTTP”出错,弹出的错误提示为“User-defined-type not defined”——是 ...


我这里改为如下代码时运行正常:
'Option Explicit
'************************************************************
'作  者: DongYu  QQ:470208739    2014/10/14
'************************************************************
Sub 沪深A股()
'需求:抓取http://data.eastmoney.com/cmjzd/,抓取沪深A股
    Dim strTxt As String, Url As String, js, Slen As Integer
    Dim i As Integer, arr, j
    Cells.ClearContents
    Url = "http://datainterface.eastmoney.com/EM_DataCenter/JS.aspx?type=GG&sty=GDRS&st=2&sr=true&p=1&ps=50&js=var%20ZWsofIjH={pages:(pc),data:[(x)]}&mkt=1&fd=2014-9-30&rt=47108232"
    With CreateObject("msxml2.xmlhttp")
        .Open "GET", Url, False
        .send
        strTxt = Split(.responseText, "var ZWsofIjH=")(1)
    End With
    Set js = CreateObject("scriptcontrol")
    js.Language = "jscript"
    js.AddCode ("dy= " & strTxt)
    Slen = js.eval("dy.data.length") - 1
    ReDim arr(1 To Slen + 1, 1 To 14)
    For i = 0 To Slen
        For j = 1 To 12
            arr(i + 1, j) = Split(js.eval("dy.data[" & i & "]"), ",")(j - 1)
        Next j
    Next i
    With Sheet1
        .[b2].Resize(UBound(arr, 1), UBound(arr, 2)) = arr
        For i = 2 To UBound(arr, 1) + 1
            .Cells(i, 1) = i - 1
            .Cells(i, 2).NumberFormatLocal = "000000"
            If Abs(.Cells(i, 5)) > 1 Then .Cells(i, 5) = "-" Else .Cells(i, 5).NumberFormatLocal = "0.00%"
            .Cells(i, 6) = Round(.Cells(i, 6))
            '其他省略..
        Next i
    End With
End Sub

TA的精华主题

TA的得分主题

发表于 2014-10-14 14:35 | 显示全部楼层
VBA万岁 发表于 2014-10-14 12:31
我这里改为如下代码时运行正常:
'Option Explicit
'********************************************* ...

Mark如附件:
东方财富网网页抓取.zip (1.86 MB, 下载次数: 225)

TA的精华主题

TA的得分主题

发表于 2014-10-14 15:11 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
VBA万岁 发表于 2014-10-14 12:07
第7句代码“xml As New MSXML2.XMLHTTP”出错,弹出的错误提示为“User-defined-type not defined”——是 ...

对象有前期引用和后期创建两种方式dim ... as new ... 作为前期引用方式,引用图片所示的库就可以了
前期引用还是有很多优势的,比如可以主动显示属性、方法等,方便记忆书写。、
当然为了他人也能方便使用,一般是先前期引用写完代码后,再改为后期创建

PS:当然对于对象很熟悉的话,直接后期创建还是很方便的
QQ截图20141014150600.png

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2014-10-14 15:19 | 显示全部楼层
ghostjiao 发表于 2014-10-14 15:11
对象有前期引用和后期创建两种方式dim ... as new ... 作为前期引用方式,引用图片所示的库就可以了
前期 ...

测试通过,多谢指点!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-12 06:06 , Processed in 0.025665 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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