ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

网页的数据导入

[复制链接]

TA的精华主题

TA的得分主题

发表于 2014-10-30 18:25 | 显示全部楼层 |阅读模式
http://data.eastmoney.com/executive/list.html
用原来的方法已失效..

谢谢各位老大了.

TA的精华主题

TA的得分主题

发表于 2014-10-30 18:36 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
请学习http://club.excelhome.net/thread-1159783-1-1.html

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-10-30 18:54 | 显示全部楼层
onlycxb 发表于 2014-10-30 18:36
请学习http://club.excelhome.net/thread-1159783-1-1.html

无一点这方面知识...帮帮..直接写下..谢谢了.

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-10-30 18:55 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
无一点这方面知识...帮帮..直接写下..谢谢了.

TA的精华主题

TA的得分主题

发表于 2014-10-30 18:58 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
网页抓取是个艰苦工作,还是自力更生为好。任何人都是一点一点学过来的。

TA的精华主题

TA的得分主题

发表于 2014-10-30 21:15 | 显示全部楼层
不要赤裸裸的索取嘛,这是个学习论坛,不是乞讨论坛

点评

感觉这里早成了乞讨论坛了 各种跪求  发表于 2014-10-31 08:18

TA的精华主题

TA的得分主题

发表于 2014-10-30 22:28 | 显示全部楼层
本帖最后由 引子玄 于 2014-10-30 22:31 编辑
cexolpgf 发表于 2014-10-30 18:54
无一点这方面知识...帮帮..直接写下..谢谢了.


直接帮写不敢当,
提示个人的抓取思路如下:
1、网页本地化(下载HTML到自己电脑);
2、再从下载的文件导入到EXCEL;
3、URL页面ID参数做个循环。完成。

(这只是众多网抓方法中的一种)

TA的精华主题

TA的得分主题

发表于 2014-10-30 23:34 | 显示全部楼层
請問有人可以做一次來看可以嗎?

点评

http://datainterface.eastmoney.com/EM_DataCenter/JS.aspx?type=GG&sty=GGMX&ps=40000  发表于 2014-10-31 08:52

TA的精华主题

TA的得分主题

发表于 2014-10-31 10:47 | 显示全部楼层
抓取成功,相关网址信息供参考!
GET http://datainterface.eastmoney.c ... ;js=var%20ZJCSqUVl={pages:(pc),data:[(x)]}&rt=47157143 HTTP/1.1
Host: datainterface.eastmoney.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:33.0) Gecko/20100101 Firefox/33.0
Accept: */*
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://data.eastmoney.com/executive/list.html
Cookie: emstat_bc_emcount=29826717462842909878; emstat_ss_emcount=0_1414743077_1085119526
Connection: keep-alive

TA的精华主题

TA的得分主题

发表于 2014-10-31 13:03 | 显示全部楼层
Sub test() '主體代碼
    Dim strText As String
    Header = Array("日期", "代碼", "名稱", "相關", "變動人", "變動股數", "成交均價", "變動金額(萬)", "變動原因", "變動比例(%)", "變動後持股數", "持股種類", "董監高人員姓名", "職務", "變動人與董監高的關係")
    Cells.Clear
    [a1].Resize(1, 15) = Header
    Columns("B:B").NumberFormatLocal = "@"
    With CreateObject("MSXML2.XMLHTTP")
        .Open "GET", "http://data.eastmoney.com/executive/list.html", False
        .send
        total_page = Split(Split(.responseText, "defjson: {pages:")(1), ",")(0)
    End With
   
    For y = 1 To total_page
        With CreateObject("MSXML2.XMLHTTP")
            .Open "GET", "http://datainterface.eastmoney.com/EM_DataCenter/JS.aspx?type=GG&sty=GGMX&p=" & y & "&ps=50&js=var%20PIppoeZe={pages:(pc),data:[(x)]}&rt=47155997", False
            .send
            arr = Split(Split(.responseText, "var PIppoeZe={pages:" & total_page & ",data:[")(1), """")
            For i = 1 To UBound(arr) Step 2
                brr = Split(arr(i), ",")
                Range("a65536").End(xlUp).Offset(1, 9) = brr(0)
                Range("a65536").End(xlUp).Offset(1, 12) = brr(1)
                Range("a65536").End(xlUp).Offset(1, 1) = WorksheetFunction.Text(brr(2), "000000")
                Range("a65536").End(xlUp).Offset(1, 4) = brr(3)
                Range("a65536").End(xlUp).Offset(1, 11) = brr(4)
                Range("a65536").End(xlUp).Offset(1, 5) = Format(brr(6), "#,##0.00")
                Range("a65536").End(xlUp).Offset(1, 10) = Format(brr(7), "#,##0.00")
                Range("a65536").End(xlUp).Offset(1, 6) = brr(8)
                Range("a65536").End(xlUp).Offset(1, 2) = brr(9)
                Range("a65536").End(xlUp).Offset(1, 14) = brr(10)
                Range("a65536").End(xlUp).Offset(1, 8) = brr(12)
                Range("a65536").End(xlUp).Offset(1, 7) = Format(brr(13), "#,##0.00")
                Range("a65536").End(xlUp).Offset(1, 13) = brr(14)
                Range("a65536").End(xlUp).Offset(1, 0) = brr(5)
            Next
        End With
    Next
End Sub

能力所限,六百多頁應該要很久很久,另外,http://datainterface.eastmoney.c ... amp;sty=GGMX&p=" & y & "&ps=50&js=var%20PIppoeZe={pages:(pc),data:[(x)]}&rt=47155997 最尾那個 RT 值我也找不到怎獲得,那個應該是該網站的登入記錄
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

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

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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