楼主: 马甲1号
2812 1

用R抓取交易所大宗交易数据 [推广有奖]

  • 3关注
  • 3粉丝

已卖:21份资源

副教授

21%

还不是VIP/贵宾

-

威望
0
论坛币
1948 个
通用积分
8.7693
学术水平
159 点
热心指数
165 点
信用等级
144 点
经验
6203 点
帖子
754
精华
0
在线时间
666 小时
注册时间
2010-10-24
最后登录
2024-7-17

楼主
马甲1号 发表于 2014-7-12 00:12:01 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
  1. library(RCurl)
  2. library(rjson)
  3. library(XML)

  4. getdzjy.sh <- function(whichdate){
  5.     BASEURL_SH = 'http://query.sse.com.cn/commonQuery.do'
  6.     post_sh=c( jsonCallBack='jsonpCallback12345',isPagination='true',sqlId='COMMON_SSE_XXPL_JYXXPL_DZJYXX_L',stockId='',startDate= whichdate,endDate=whichdate,pageHelp.pageSize='10000',pageHelp.cacheSize='10000',num='')
  7.     cn = postForm(BASEURL_SH, .params=post_sh, .opts = list(referer = 'http://www.sse.com.cn/disclosure/diclosure/block/'))
  8.     m=regexpr('jsonpCallback12345.*\"data\":(?P<purejson>\\[.+\\])\\,\"sqlId\"', cn, perl=T)
  9.     purejson = substr(cn, attr(m, 'capture.start'), attr(m, 'capture.start')+attr(m, 'capture.length')-1)
  10.     purejson.parsed=fromJSON(purejson)
  11.     outdf = Reduce(function(...) merge(...,all=T),  lapply(purejson.parsed, data.frame))
  12.     outdf2 = outdf[grepl('[36]\\d{5}|00[02]\\d{3}',outdf$stockid ),c('tradedate', 'stockid', 'abbrname', 'tradeprice', 'tradeqty', 'tradeamount', 'branchbuy', 'branchsell')]
  13.     names(outdf2)=c("交易日期", "证券代码", "证券简称", "成交价格", "成交量", "成交金额",
  14. "买方营业部", "卖方营业部")

  15.     outdf2
  16. }


  17. getdzjy.sz <- function(whichdate){
  18.     BASEURL_SZ = 'http://www.szse.cn/szseWeb/FrontController.szse'

  19.     post_sz=c(ACTIONID=7, CATALOGID='1265_xyjy',txtKsrq=whichdate,txtZzrq=whichdate, TABKEY='tab1')
  20.     pgnum= -1
  21.     pg=1
  22.     datatable=NULL
  23.     while(T){
  24.         print( sprintf('pg=%d/pgnum=%d',pg,pgnum))
  25.         if(pg==1){
  26.             cn=getForm(BASEURL_SZ, .params = post_sz, .opts = list(referer='http://www.szse.cn/main/disclosure/news/dzjy/'))
  27.             m=regexpr('tab1PAGECOUNT=(\\d+)&', cn, perl=T)
  28.             pgnum=as.numeric(substr(cn, attr(m, 'capture.start'),attr(m, 'capture.start')+attr(m, 'capture.length')-1))
  29.         }else{
  30.             post_sz2= c(tab1PAGENUM=pg, tab1PAGECOUNT=pgnum)
  31.             cn=getForm(BASEURL_SZ, .params =c( post_sz, post_sz2), .opts = list(referer='http://www.szse.cn/main/disclosure/news/dzjy/'))
  32.         }
  33.         cn.utf8=iconv(cn, 'gbk','utf-8')
  34.         parsed = htmlParse(cn.utf8, encoding = 'utf-8')
  35.         parsed.table=getNodeSet(parsed, '//table[@id="REPORTID_tab1"]')
  36.         datatable.new = readHTMLTable( parsed.table[[1]])
  37.         datatable=rbind(datatable, datatable.new)
  38.         pg=pg+1
  39.         if(pg>pgnum)break
  40.     }
  41.     datatable
  42. }


  43. main <- function(){
  44.     TODAY= format(Sys.Date())
  45.     a=getdzjy.sz(TODAY)
  46.     b=getdzjy.sh(TODAY)
  47.     dzjy_today=rbind(a,b)


  48. }
复制代码





二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:交易数据 大宗交易 交易所 Library BRARY function library 交易所

归欤!归欤!吾党之小子狂简,斐然成章,不知所以裁之。

沙发
pohys 在职认证  发表于 2014-12-31 23:46:07
需要数据抓取服务的,可以联系QQ1453724998

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2026-1-5 09:36