‘壹’ 如何用java编写一个股票查询的网络接口
写个资源抓取类,定时去新浪啊,搜狐啊什么的大门户网站去抓他们的股票数据,然后在你服务器上显示就行了
‘贰’ 如何用Java实现数据采集
Java网页数据采集器例子如下:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* Group 类 用于匹配和抓取 html页面的数据
*/
public class Group {
public static void main(String[] args) {
// Pattern 用于编译正则 这里用到了3个正则 分别用括号()包住
// 第1个正则用于匹配URL 当然这里的正则不一定准确 这个匹配URL的正则就是错误的 只是在这里刚好能匹配出来
// 第2个正则是用于匹配标题 SoFlash的
// 第3个正则用于匹配日期
/* 这里只用了一条语句便把url,标题和日期全部给匹配出来了 */
Pattern p = Pattern
.compile("='(\\w.+)'>(\\w.+[a-zA-Z])-(\\d{1,2}\\.\\d{1,2}\\.\\d{4})");
String s = "<a href='http://www.cnblogs.com/longwu'>SoFlash-12.22.2011</a>";
Matcher m = p.matcher(s);
while (m.find()) {
// 通过调用group()方法里的索引 将url,标题和日期全部给打印出来
System.out.println("打印出url链接:" + m.group(1));
System.out.println("打印出标题:" + m.group(2));
System.out.println("打印出日期:" + m.group(3));
System.out.println();
}
System.out.println("group方法捕获的数据个数:" + m.groupCount() + "个");
}
}
下输出结果:
打印出url链接:http://www.cnblogs.com/longwu
打印出标题:SoFlash
打印出日期:12.22.2011
group方法捕获的数据个数:3个
‘叁’ java 如何实现 获取实时股票数据
一般有三种方式:
网页爬虫。采用爬虫去爬取目标网页的股票数据,去GitHub或技术论坛(如CSDN、51CTO)上找一下别人写的爬虫集成到项目中。
请求第三方API。会有专门的公司(例如网络API市场)提供股票数据,你只需要去购买他们的服务,使用他们提供的SDK,仿照demo开发实现即可。如下图所示:
‘肆’ 用java读取一个软件已经获取到的数据
java都是通过流读取数据,这个问题首先你得告诉大家VC读取的数据存放在哪了,然后大家才能帮组你,希望把问题补全
VC获取数据不了解,给你提供下java从流里读取数据,看你能不能用上
如果VC可以将数据通过socket写到输出流里,那么下面的代码就能用上了
Socket client=new Socket(ip,port);//和VC读取数据的ip连接上
BufferedReader br=new BufferedReader(new InputStreamReader(client.getInputStream()) );
再通过br.readline逐条读取就可以了
‘伍’ 如何用爬虫抓取股市数据并生成分析报表
1. 关于数据采集
股票数据是一种标准化的结构数据,是可以通过API接口访问的(不过一般要通过渠道,开放的API有一定的局限性)。也可以通过爬虫软件进行采集,但是爬虫软件采集数据不能保证实时性,根据数据量和采集周期,可能要延迟几十秒到几分钟不等。我们总结了一套专业的爬虫技术解决方案(Ruby + Sidekiq)。能够很快实现这个采集,也可以后台可视化调度任务。
2. 关于展现
网络股票数据的展现,网页端直接通过HTML5技术就已经足够,如果对界面要求高一点,可以采用集成前端框架,如Bootstrap;如果针对移动端开发, 可以使用Ionic框架。
3. 关于触发事件
如果是采用Ruby on Rails的开发框架的话,倒是很方便了,有如sidekiq, whenever这样子的Gem直接实现任务管理和事件触发。
‘陆’ 请问怎样用Java获取股票行情历史数据新浪、搜狐、百度财经都可以......
publicclassStockConnection{
publicstaticvoidmain(String[]args){
URLur=null;
try{
//搜狐股票行情历史接口
// ur=newURL("http://q.stock.sohu.com/hisHq?code=cn_300228&start=20130930&end=20131231&stat=1&order=D&period=d&callback=historySearchHandler&rt=jsonp");
//新浪股票行情历史接口
ur=newURL("http://biz.finance.sina.com.cn/stock/flash_hq/kline_data.php?&rand=random(10000)&symbol=sh600000&end_date=20150809&begin_date=20000101&type=plain");
HttpURLConnectionuc=(HttpURLConnection)ur.openConnection();
BufferedReaderreader=newBufferedReader(newInputStreamReader(ur.openStream(),"GBK"));
Stringline;
while((line=reader.readLine())!=null){
System.out.println(line);
}
}catch(Exceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
‘柒’ 开发炒股软件,从哪里获得股票数据
行情数据源在上交所和深交所。需要购买。而且很贵。
象我们平常看到行情,是券商营业部所买,我们连到他们服务器,而接收到数据。
P2P数据接口使用说明(1)2009-03-18 08:58接口使用说明:
1. 压缩包包含四个文件,分别为P2P.exe,P2P.CFG,zlib.dll和使用说明.txt,可以解压到任意盘任意目录下使用。
2. 支持的行情分析软件有:
(1) 分析家2006,2005等,要求分析家主窗口标题最前面的几个字是"分析家 -",是否是破解版关系不大,最好是下载分析家官方网站的正版分析家,网址是http://www.fxj.com.cn,分析家其他版本号是否支持,我也没全做试验。
(2) 飞狐交易师,支持飞狐交易师,要求飞狐交易师主窗口标题最前面的几个字是"飞狐交易师"或"证券分析师",是否是破解版关系不大,最好是支持正版,用正版的。
(3) 大智慧新一代,要求大智慧主窗口标题最前面的几个字是"大智慧Level" 支持的版本号有 09.0226,08.0907,08.0801,07.0205 共四个。
注:如果分析软件的窗口标题不符合上面说的,则分析软件无法接收数据。以上三个分析软件最好都是正版的,只要下载正版的软件,安装后,无需做任何修改即可使用。接口再次说明一下,接口中的四个文件解压到任意目录下使用都可以,而无需解压到某个分析软件的某个目录下,或替代某个分析软件的某个文件。接口完全是绿色的,无需安装,也不会在注册表中留下任何信息。
3. 每天9:15分以后用行情软件中的数据管理功能先清除当天的行情数据,然后把右下角“发送数据”发送数据前面的钩选上。
4. 如果不能在开盘前打开该软件,比如10点半才打开,那么该接口会自动补充10点半之前的行情数据,为了能够尽快的把前面的数据补充完毕,请把速度调节到100以上。但如果是飞狐,则把该值调低一些,否则飞狐会来不及处理数据,把大量的数据放到内存中,造成飞狐使用内存越来越大,最后由于内存耗完造成飞狐或接口非法退出。大智慧和分析家则不存在这个问题。
5. 收盘后,该接口具有白天行情的回放功能,回放前,最好先清除行情软件中当天的行情数据。
6. 该接口由于是P2P接收数据,因此数据接收需要种子,只有和别的种子连上了,你就能接收数据了,你至少要和一个种子连上,当然,你连上别的种子后,你也就能称为种子了,你也就能为别的人提供数据服务功能了。
7. 两个人要连接成功,最好两个人中有一个人的IP地址是公网地址,如果两个全是内网地址则相互无法直接联通,必须借助第三方才能联通,该方法这里不再介绍了。
8. 如果网络情况比较良好,则行情数据的延时一般不会大于0.5秒。
9. 接口的P2P连接信息中的字段说明
(1). 远程完成--为该IP接收到完整数据包的个数。
(2). 远程请求--为该IP请求你发送的数据包序号。
(3). 本机请求--为本机请求远程发送数据包序号。
(4). 请求返回--远程响应本机请求的次数。
‘捌’ 怎样用Java实现网站数据采集.txt
可以使用HttpClient读取网页的内容
整个过程分为六步
创建 HttpClient 的实例
2. 创建某种连接方法的实例,在这里是 GetMethod。在 GetMethod 的构造函数中传入待连接的地址
3. 调用第一步中创建好的实例的 execute 方法来执行第二步中创建好的 method 实例
4. 读 response
5. 释放连接。无论执行方法是否成功,都必须释放连接
6. 对得到后的内容进行处理
实现如下:
import java.io.IOException;
import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;
public class HttpClientTest...{
public static void main(String[] args) {
//构造HttpClient的实例
HttpClient httpClient = new HttpClient();
//创建GET方法的实例
GetMethod getMethod = new GetMethod("http://www.crazyjava.org");
//使用系统提供的默认的恢复策略
getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
new DefaultHttpMethodRetryHandler());
try {
//执行getMethod
int statusCode = httpClient.executeMethod(getMethod);
if (statusCode != HttpStatus.SC_OK) {
System.err.println("Method failed: "
+ getMethod.getStatusLine());
}
//读取内容
byte[] responseBody = getMethod.getResponseBoy();
//处理内容
System.out.println(new String(responseBody));
} catch (HttpException e) {
//发生异常,可能是协议不对或者返回的内容有问题
System.out.println("Please check your provided http address!");
e.printStackTrace();
} catch (IOException e) {
//发生网络异常
e.printStackTrace();
} finally {
//释放连接
getMethod.releaseConnection();
}
}
}
这样得到的是页面的源代码,再进行处理
‘玖’ 用java语言可以实时获取股票数据。我想知道能否用c语言来读取新浪股票信息呢具体怎么实现,谢谢。
你好,可以给你些参考,资金流向,风控等要注意。其他内容还有很多。股市方面问题都可以问的。妇道人家