ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 提取东方财富的网页数据到EXCEL中

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-4-12 14:49 | 显示全部楼层 |阅读模式
数据地址:http://dcfm.eastmoney.com/em_mutisvcexpandinterface/api/js/get?type=HSGTHDSTA&token=70f12f2f4f091e459a279469fe49eca5&st=HDDATE,SHAREHOLDPRICE&sr=3&p=1&ps=50&js=var%20RywNiBGx={pages:(tp),data:(x)}&filter=(MARKET%20in%20(%27001%27,%27003%27))(HDDATE%3E=^2019-02-28^%20and%20HDDATE%3C=^2019-04-11^)&rt=51834660%22

请大师帮忙写个提取程序,谢谢

TA的精华主题

TA的得分主题

发表于 2019-4-12 15:25 来自手机 | 显示全部楼层
论坛有现成的代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-4-12 15:48 | 显示全部楼层
duquancai 发表于 2019-4-12 15:25
论坛有现成的代码

请问能不能分享一下链接,每个网页的格式不同是否可以通用

TA的精华主题

TA的得分主题

发表于 2019-4-13 00:50 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 duquancai 于 2019-4-13 10:35 编辑
wujiafa 发表于 2019-4-12 15:48
请问能不能分享一下链接,每个网页的格式不同是否可以通用
  1. Sub main()
  2.     Dim js As Object, D As Object, xml As Object, strText$, arr(), c&, r&, i&, j&
  3.     Set D = CreateObject("htmlfile"): Set js = D.parentWindow
  4.     Set xml = CreateObject("msxml2.xmlhttp")
  5.     xml.Open "GET", "http://dcfm.eastmoney.com/em_mutisvcexpandinterface/api/js/get?type=HSGTHDSTA&token=70f12f2f4f091e459a279469fe49eca5&st=HDDATE,SHAREHOLDPRICE&sr=3&p=1&ps=50&filter=(MARKET%20in%20(%27001%27,%27003%27))(HDDATE%3E=^2019-02-28^%20and%20HDDATE%3C=^2019-04-11^)&rt=51834660%22", False
  6.     xml.send
  7.     strText = xml.responseText
  8.     js.execScript "var b=[];a=" & strText & ";for(k in a[0])b.push(k);"
  9.     c = js.eval("b.length"): r = js.eval("a.length")
  10.     ReDim arr(1 To r, 1 To c)
  11.     For i = 0 To r - 1
  12.         For j = 0 To c - 1
  13.             arr(i + 1, j + 1) = js.eval("a[" & i & "][b[" & j & "]]")
  14.         Next
  15.     Next
  16.     Range("a2").Resize(r, c) = arr
  17. End Sub
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-4-13 09:18 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

谢谢大师,非常感谢!

TA的精华主题

TA的得分主题

发表于 2019-4-13 10:07 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
1.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-4-13 10:41 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2019-4-13 11:08 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2019-4-13 11:48 | 显示全部楼层
wujiafa 发表于 2019-4-13 10:41
请问大师,这个用的是什么软件?
  1. # -*- coding: utf-8 -*-
  2. # version: Python 3.7.0
  3. import requests,csv

  4. headers = {'User-Agent': '(KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'}
  5. url = 'http://dcfm.eastmoney.com/em_mutisvcexpandinterface/api/js/get'

  6. def get_json(params, csv_file):
  7.     r = requests.get(url=url, params=params, headers=headers)
  8.     for i in r.json():
  9.         writer = csv.writer(csv_file)
  10.         writer.writerow([v for v in i.values()])#逐行写入csv文件!

  11. if __name__ == '__main__':
  12.     start_rq = '2019-02-28'#开始日期
  13.     end_rq = '2019-04-13'#结束日期
  14.     csv_file = open(r"test.csv", 'a', encoding="utf-8-sig", newline='')
  15.     for p in range(5):#抓取前5页!!!抓取页数设置。
  16.         params = {
  17.             'type': 'HSGTHDSTA','token': '70f12f2f4f091e459a279469fe49eca5',
  18.             'st': 'HDDATE,SHAREHOLDPRICE', 'sr': 3, 'ps': 50, 'rt': 51834660,
  19.             'p': p+1,
  20.             'filter': f"(MARKET in ('001','003'))(HDDATE>=^{start_rq}^ and HDDATE<=^{end_rq}^)"
  21.         }
  22.         get_json(params, csv_file)
  23.     csv_file.close()
复制代码

TA的精华主题

TA的得分主题

发表于 2019-5-29 11:36 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
不错,学习了
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-20 19:38 , Processed in 0.048030 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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