股票数据抓取 php,如何抓取股票数据

今天把数据抽取的代码整理了下,做了个控制台程序,这个程序主要抓取了新浪网的行业数据、股票信息,股价日、周、月线的数据,并把数据存储到数据库。文章末尾提供代码下载网址,代码可运行,设置好数据库连接字符串后,即可抽取数据了。

数据抽取主要是找到合适的数据源,分析和提取数据。

一、数据源

免费的接口主要是各大门户网站和财经类网站,比如新浪网易的财经频道,或者东方财富和和讯网站等。

专门做接口的聚合数据股票接口等。

另外如果想了解各种指数的成分股,比如上证50,深户300等指数的成分股,可以参考 上海证券交易所 深圳证券交易所,这两个网站提供两市的所有股票数据,提供了Excel下载,下载以后导入到数据即可。

二、分析和提取数据

通过浏览器的F12或者Fiddler查看网络请求数据,数据最好返回的是json格式,json格式的数据非常容易提取,利用Newtonsoft.Json把json对象转换成dynamic对象,访问json数据真是方便极了,没有用dynamic对象之前,一直是建立和json对象一致的类,然后在反序列化,现在不需要了,代码示例如

public IList GetStocks(DataAccess.StockCategory category)

{

var url = "http://vip.stock.finance.sina.com.cn/quotes_service/api/json_v2.php/Market_Center.getHQNodeData?page=1&num=900&sort=symbol&asc=1&node={0}&symbol=&_s_r_a=init";

url = string.Format(url, category.code.Trim('"'));

string content = getRequestContent(url);

dynamic stocks = Newtonsoft.Json.JsonConvert.DeserializeObject(content);

IList list = new List();

foreach (var stock in stocks)

{

list.Add(new DataAccess.Stock

{

code = stock.code,

symbol = stock.symbol,

name = stock.name

});

}

return list;

如果返回数据不是json格式,那就需要用正则表示来提取了,这方面就要看情况了,我的代码里部分用到了正则表达式。

另外,为了防止网站接口变化,你需要建立一个接口类,为应用多做几个接口的实现,应对后续网站接口的变化。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值