1、雪球网数据接口使用说明:
https://xueqiu.com/stock/forchartk/stocklist.json?symbol=代码&period=1day&type=复权还是不复权&begin=开始时间时间戳&end=结束时间时间戳&_=结束时间时间戳
地址参数:上海股票在编号前加SH,深圳股票,在编号前加SZ,period代表的时间间隔,复权不复权使用after和before表示,开始时间和结束时间要用时间戳表示。
注意访问下面的网址前要先点击https://xueqiu.com/,进入一次官网,然后在http头中才能记录你的数据,然后才能通过下面的网址获取数据。
2、网址例子、https://xueqiu.com/stock/forchartk/stocklist.json?symbol=SH600756&period=1day&type=before&begin=1478620800000&end=1510126200000&_=1510126200000
3、要求:使用C#完成获取雪球网json数据,需要给出测试结果,demo给出的结果只要symbol(股票代码)volume、open即可
6条回答 默认 最新
- threenewbee 2018-07-24 08:12关注
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.IO; using System.Web.Script.Serialization; namespace Q695687 { [Serializable] class MyStock { public string symbol { get; set; } } [Serializable] class MyItem { public string volume { get; set; } public string open { get; set; } } [Serializable] class MyJson { public MyStock stock { get; set; } public string success { get; set; } public List<MyItem> chartlist { get; set; } } class Program { static void Main(string[] args) { WebRequest req = HttpWebRequest.Create("https://xueqiu.com/stock/forchartk/stocklist.json?symbol=SH600756&period=1day&type=before&begin=1478620800000&end=1510126200000&_=1510126200000"); req.Method = "GET"; req.Headers.Add("Cookie: aliyungf_tc=AQAAAHToHii4UgkA+PHteUhWTRZyq+2m; xq_a_token=aef774c17d4993658170397fcd0faedde488bd20; xq_a_token.sig=F7BSXzJfXY0HFj9lqXif9IuyZhw; xq_r_token=d694856665e58d9a55450ab404f5a0144c4c978e; xq_r_token.sig=Ozg4Sbvgl2PbngzIgexouOmvqt0; Hm_lvt_1db88642e346389874251b5a1eded6e3=1532446045; Hm_lpvt_1db88642e346389874251b5a1eded6e3=1532446045; u=941532446046068; device_id=ed69614fd948813e0ee1aab73abcdd13"); var r = req.GetResponse(); var stream = r.GetResponseStream(); var reader = new StreamReader(stream, Encoding.UTF8); string json = reader.ReadToEnd(); JavaScriptSerializer jss = new JavaScriptSerializer(); MyJson result = jss.Deserialize<MyJson>(json); Console.WriteLine(result.stock.symbol); for (int i = 0; i < 10; i++) { Console.WriteLine("\t" + result.chartlist[i].volume + " " + result.chartlist[i].open); } Console.WriteLine("\t" + "..."); } } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报