ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 网上抓取数据

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-3-7 22:20 | 显示全部楼层 |阅读模式
请教各位大神以下网站数据存放在哪个角落?网站数据如何抓取?

http://ddx.gubit.cn/sz0.php
http://ddx.gubit.cn/sh0.php
http://ddx.gubit.cn/cyb.php
http://ddx.gubit.cn/new2.html


TA的精华主题

TA的得分主题

发表于 2024-3-8 08:30 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

TA的精华主题

TA的得分主题

发表于 2024-3-8 08:31 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
1709857886102.jpg

TA的精华主题

TA的得分主题

发表于 2024-3-8 11:07 | 显示全部楼层
表格抓取我是这样弄得:
打开chrome的调试模式,选择“元素”,移动鼠标,左侧窗口会显示鼠标对应的窗口,从而确定显示内容与网页源码的对应关系。例如:第一个网址http://ddx.gubit.cn/sz0.php中的表格。对应源码是绿色框内的部分,点击绿色窗口左边的小三角箭头,以<table 开头的内容即为行情数据表格的源码。


image.jpg image.png

现在,有两个方法:
1.手工复制,邮件点击<table,复制,复制outerHtml,,构建一个空的html文件,内容为:
<html>
<head>
  <meta content="text/html; charset=GB2312" http-equiv="content-type">
  <title></title>
</head>
<body>
<br>
</body>
</html>
,然后把刚才复制的<table 内容粘贴到<body>之后,保存,打开这个html即可看到表格内容,可复制。如图;此方法可解决所有网页不能复制的限制。注意:使用chrome浏览器。
image.jpg
2.第二个方法,如果需要多次自动执行,可以通过vba+js程序抓来完成以上操作,打开网页,拼接html内容,保存为独立文件。
js 获取网页源码的命令    "return document.getElementsByTagName('table')[1].outerHTML"
网页中table可能有多个,具体序号以实际为准,从0开始计算。
head=“<html><head><meta content="text/html; charset=GB2312" http-equiv="content-type"><title></title></head><body>”
body=js的返回内容
end = “<br></body></html>"
head & body & end  即为html文件的内容。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-3-8 11:35 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2024-3-8 14:49 | 显示全部楼层
本帖最后由 smiletwo 于 2024-3-8 14:51 编辑

网址中有t=0.……

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-3-8 16:16 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
bj917 发表于 2024-3-8 11:07
表格抓取我是这样弄得:
打开chrome的调试模式,选择“元素”,移动鼠标,左侧窗口会显示鼠标对应的窗口, ...

250页这样弄下来估计也够呛

TA的精华主题

TA的得分主题

发表于 2024-3-8 17:39 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
bj917 发表于 2024-3-8 11:07
表格抓取我是这样弄得:
打开chrome的调试模式,选择“元素”,移动鼠标,左侧窗口会显示鼠标对应的窗口, ...

你可以 试试 直接复制法
https://club.excelhome.net/thread-1628424-1-1.html

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-3-8 20:43 | 显示全部楼层
perfect131 发表于 2024-3-8 17:39
你可以 试试 直接复制法
https://club.excelhome.net/thread-1628424-1-1.html

以下脚本是我几年以前下载同样网站数据抓取的(忘记了作者名字),最近因为散户大家庭的数据经常断更没有更新,才想起来以前有这么一个文件,以前是可以运行抓取到数据的,现在发现脚本失效了,看看哪位大神能帮忙修改一下?脚本如下:
Sub 查股网个股历史DDX数据1()
    On Error Resume Next
    Columns("A:A").NumberFormatLocal = "@"
    [a1:x1] = Split("代码,开盘(元),收盘(元),最高,最低,涨幅,成交量(万元),通吃率,BBD(万元),DDX,DDX3日,DDX5日,DDX10日,DDX60日,DDY,单数比,小单差,小单流入(万元),中单差,中单流入(万元),大单差,大单流入(万元),特大单差,特大单流入(万元)", ",")
    Dim temp
    With CreateObject("Microsoft.XMLHTTP")
        .Open "GET", "http://ddx.gubit.cn/js/astocksuggest.js" & p, True
        .Send
        Do Until .ReadyState = 4
            DoEvents
        Loop
        temp = Split(.responsetext, "~")
        With CreateObject("internetexplorer.application")
            .Visible = True
            For k = 1 To UBound(temp)
                .Navigate "http://ddx.gubit.cn/ddelist.html?code=" & Format(Split(temp(k), "`")(0), "000000") & "&bdate=2012-09-14&edate=2012-09-27"
                Do Until .ReadyState = 4
                    DoEvents
                Loop
                n = Range("b65536").End(xlUp).Row
                Set r = .Document.getElementByid("sjtableright").Rows
                For i = 1 To r.Length - 2
                    For j = 0 To r(i).Cells.Length - 1
                        Cells(i + n, j + 2) = r(i).Cells(j).innerText
                    Next j
                Next i
                m = Range("b65536").End(xlUp).Row
                Range(Cells(n + 1, 1), Cells(m, 1)) = Format(Split(temp(k), "`")(0), "000000")
                Set r = Nothing
            Next k
            .Quit
        End With
    End With
    Cells.Font.Size = 9
    Cells.Columns.AutoFit
End Sub

TA的精华主题

TA的得分主题

发表于 2024-3-8 23:15 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-9-29 20:25 , Processed in 0.054912 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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