查看: 776|回复: 4
从网页抓取铜价
[复制链接]
jsb03
jsb03
当前离线
性别保密
UID3734896
阅读权限10
注册时间2017-4-28
在线时间 小时
最后登录1970-1-1
积分8
财富
分享
技术
精华
TA的精华主题
TA的得分主题
电梯直达
1楼
发表于 2023-2-16 08:35
|
只看该作者
|倒序浏览
|阅读模式
[广告] ★Excel Home云课堂 - 专业的职场技能充电站★ ★Excel三大利器★ ★ 笨办法学VBA全系列★
如题,点击按钮可以从https://www.ccmn.cn/抓取当天1#铜的均价,把图片中的四个数据保存在sheet1中的A1-D1单元格内。
微信截图_20230216083424.png
(81.26 KB, 下载次数: 6)
下载附件
2023-2-16 08:34 上传
分享到:
QQ好友和群
QQ空间
收藏2
分享
有用0
无用0
回复
举报
jsb03
jsb03
当前离线
性别保密
UID3734896
阅读权限10
注册时间2017-4-28
在线时间 小时
最后登录1970-1-1
积分8
财富
分享
技术
精华
TA的精华主题
TA的得分主题
2楼
楼主|
发表于 2023-2-16 08:39
|
只看该作者
[广告] ★用Excel做企业管理系统,Excel服务器学习和下载★
可能需要用户名和密码
回复
举报
2801959927
2801959927
当前离线
性别保密
UID3389040
阅读权限20
注册时间2016-4-10
在线时间 小时
最后登录1970-1-1
积分173
财富
分享
技术
精华
TA的精华主题
TA的得分主题
3楼
发表于 2023-2-17 09:13
|
只看该作者
[广告] ★会Excel,就能做支持PC、手机、Web、App、Windows、安卓、IOS、Linux信息一体化的各种管理系统 ★
那个首页数据是动态页面,不太好爬取的。建议你点进去看这个页面:https://www.ccmn.cn/cjxh.shtml
image.jpg (124.26 KB, 下载次数: 7)
下载附件
2023-2-17 09:10 上传
这个页面稍微清爽一点,其实都不用写爬虫代码,直接用Excel从web获取数据,就可以把这张表格导入到excel里,还可以自己刷新,试试吧
image.jpg (210.54 KB, 下载次数: 4)
下载附件
2023-2-17 09:12 上传
image.jpg (149.39 KB, 下载次数: 3)
下载附件
2023-2-17 09:11 上传
回复
举报
perfect131
perfect131
当前离线
性别保密
UID4313952
阅读权限90
注册时间2019-11-11
在线时间 小时
最后登录1970-1-1
积分3234
财富
分享
技术
精华
TA的精华主题
TA的得分主题
4楼
发表于 2023-2-17 12:14
|
只看该作者
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★使用手册★
不难,仅供参考
第一种 ;split 第二种 正则
Sub ccmn()
Set winhttp = CreateObject("winhttp.WinHttpRequest.5.1")
Url = "https://www.ccmn.cn/index_table/"
With winhttp
.Open "GET", Url, False
.send
strText = .responseText
If InStr(strText, "
aa = Split(Split(strText, "
bb = Split(Replace(Replace(aa, " ", ""), vbLf, ""), "
ReDim arr(1 To 1, 1 To 4)
arr(1, 1) = "1#铜" ''品名
arr(1, 2) = Val(Split(bb(2), "<")(0)) ''均价
arr(1, 3) = Val(Split(Split(bb(2), """>")(1), "<")(0)) ''涨跌
arr(1, 4) = Split(bb(4), "<")(0) ''日期
'' a1开始写入
Sheet1.[a1].Resize(1, 4) = arr
End If
End With
Set winhttp = Nothing
End Sub
Sub ccmn1()
Set winhttp = CreateObject("winhttp.WinHttpRequest.5.1")
Url = "https://www.ccmn.cn/index_table/"
Set reg = CreateObject("vbscript.regexp")
reg.Pattern = "(-)|()|\n|\s|\D"
reg.Global = True
With winhttp
.Open "GET", Url, False
.send
strText = .responseText
If InStr(strText, "
aa = Split(Split(strText, "
mm = reg.Replace(aa, "$1$2")
bb = Split(mm, "")
ReDim arr(1 To 1, 1 To 4)
arr(1, 1) = "1#铜" ''品名
arr(1, 2) = Val(bb(1)) ''均价
arr(1, 3) = Val(bb(2)) ''涨跌
arr(1, 4) = bb(4) ''日期
'' a2开始写入
Sheet1.[a2].Resize(1, 4) = arr
End If
End With
Set reg = Nothing
Set winhttp = Nothing
End Sub复制代码
11.png
(134.63 KB, 下载次数: 5)
下载附件
2023-2-17 12:14 上传
回复
举报
jsb03
jsb03
当前离线
性别保密
UID3734896
阅读权限10
注册时间2017-4-28
在线时间 小时
最后登录1970-1-1
积分8
财富
分享
技术
精华
TA的精华主题
TA的得分主题
5楼
楼主|
发表于 2023-6-5 13:08
|
只看该作者
[广告] ★用Excel做企业管理系统,Excel服务器学习和下载★
感谢楼上的大神
回复
举报