最近股市大牛,相信这里的不少朋友都在炒股,当然上班时间老是开着网页看股市或是盯着红红绿绿的专业股票软件是总是担心被周围同事看到的,但又不时的想着大盘是涨了还是跌了,自己的股票又是如何呢。
于是用 Java 写了一套简单的股市信息跟踪的小程序,Console 的,用于抓取相应的股市信息并显示到 console 中,谁也不会想到这个东西会是用来看股市的吧。
这套小小的程序用到了几个非常简单的技术,HttpClient 和 正则表达式。程序功能非常简单,找到含有股市数据的页面,使用 HttpClient 抓取下来,通过正则表达式匹配自己需要的内容,在 Console 上打印出来。
准备花两篇文章简单的介绍这个小系统中的实现细节,当然这只是简单的介绍,其实我们再稍微用点其他的技术,可以做出更多更实用的小工具。比如我就写了个小爬虫,把某个基金网站上的基金净值数据爬来了,足足有10W条,供我做基金形势分析之用,拿到这些原始数据,再动用一下自己的头脑,再配合一些方便的工具,比如 Excel,我们便可以用实际数据去辅助投资理财。
首先我们来简单的介绍我们用到的第一个工具,HttpClient。
HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。
以下列出的是 HttpClient 提供的主要的功能,要知道更多详细的功能可以参见 HttpClient 的主页。
实现了所有 HTTP 的方法(GET,POST,PUT,HEAD 等)
支持自动转向
支持 HTTPS 协议
支持代理服务器等
HttpClient 可以在http://jakarta.apache.org/commons/httpclient/downloads.html下载
HttpClient 基本功能的使用
GET 方法
使用 HttpClient 需要以下 6 个步骤:
1. 创建 HttpClient 的实例
2. 创建某种连接方法的实例,在这里是 GetMethod。在 GetMethod 的构造函数中传入待连接的地址
3. 调用第一步中创建好的实例的 execute 方法来执行第二步中创建好的 method 实例
4. 读 response
5. 释放连接。无论执行方法是否成功,都必须释放连接
6. 对得到后的内容进行处理
根据以上步骤,我们来编写用GET方法来取得某网页内容的代码。
根据这样的过程,我们便可以写出一个简单的抓取页面的方法,该方法返回抓到的页面数据。传入的参数是页面的 URL。
protected String getURLResponse(String url) {
try {
HttpClient client = new HttpClient();
GetMethod method = new GetMethod(url);
int returnCode = client.executeMethod(method);
String response = null;
if (returnCode == 200) {
response = EncodingUtil.getString(method.getResponseBody(), "gb2312");
}
method.releaseConnection();
return decode(response);
} catch (Exception e) {
return null;
}
}
HttpClient 是一个很实用的工具,用它,我们可以做很多和 Http 有关的事情。
大家可以参考: http://www.ibm.com/developerworks/cn/opensource/os-httpclient/ 来初步了解 HttpClient 的功能。
或是去找找 Jakarta.Commons.Cookbook 或者 Jakarta.Commons.Online.Bookshelf,上面介绍了包括 HttpClient 在内的很多 Apache Jakarta Commons 项目,相信合理使用,会让你事半功倍的。
下一篇我们将介绍一下如何用正则表达式处理我们抓取到的数据。
分享到:
相关推荐
上传个自己封的java接口,源码和依赖的jar包都在压缩文件里 test目录下有行情的demo,交易部分的API还没完全做好,可以连上前置和登录 这个java接口算是预览版吧,java与ctp api通信用的是Bridj,基于jni,现在还有...
恒生股指期货系统PPT课件.pptx
交易股指期货或者商品期货的仿真系统,由光大期货推出。
恒生股指期货系统PPT学习教案.pptx
为了给炒股新手提供一个练习的平台,用vc2012开发的一款股指期货模拟系统
股指期货操作系统.pdf
基于Python的股指期货交易系统.docx基于Python的股指期货交易系统.docx
"基于标的股指及机器学习的股指期货价格预测" 本文旨在探讨基于标的股指及机器学习的股指期货价格预测问题。通过构建VAR模型,发现标的股指价格对股指期货价格具有显著影响。然后,使用脉冲响应分析结果确定预测...
通达信公式指标源码叠加于主图的股指期货交割日 通达信公式指标源码叠加于主图的股指期货交割日是一个重要的技术指标,让我们来详细分析一下这个指标的组成部分和应用场景。 首先,让我们来看一下这个指标的标题:...
同花顺股指期货闪电版是由西安鑫启航贵金属投资有限公司数十位金融投资专家凭借着多年的实战经验和独到的理论,精心研发的程序化自动交易系统。还拥有基本的行情决策介绍、每日评论、相关新闻资讯之外等等功能 同花...
东吴证券股指期货版支持支持恒生股指期货交易,软件功能强大,方便实用。 东吴证券股指期货版网上交易说明 1 下载安装完成后,在桌面双击东吴证券软件图标,即可运行东吴证券网上交易软件。 2 登陆时无需修改任何...
股指期货期现套利策略 Chapter 16 Python量化投资基础教程教学课件第十六章--股指期货期现套利策略全文共50页,当前为第1页。 目 录 期货套利交易概述 01 02 03 04 股指期货期现套利策略的基本思想 股指期货期现套利...
软件开发设计:PHP、QT、应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与设备:单片机、EDA、proteus、RTOS、包括计算机硬件、服务器、网络设备、...
因此,在构建现货组合模型时,需要考虑成本和跟踪误差两个因素,建立有效的投资组合来复制指数,达到套利的目的。 在投资策略中,构建模型除了需要理论定价模型外,还要充分考虑实际市场的流动性、投资者的风险偏好...
股指期货与股指期权市场分析及展望(43页).pdf
在A股市场中,股指期货合约以价格指数为跟踪标的,因此,准确测算股指分红点位对股指期货的定价至关重要。报告还提到了股指分红对对冲成本测算的影响,说明了投资者如何利用分红信息来优化投资策略。 2. A股市场...
【标题】:“培训资料股指期货投资技巧培训(PPT 48页).ppt” 【描述】:这份培训资料详细讲解了股指期货的投资技巧,包括不同类型的策略和市场分析方法。 【标签】:“培训” 【主要内容概要】: 此份培训资料...
海外跟踪:美国三大股指集体上涨,科技板块大幅反弹.pdf
论文研究-基于高频数据的中国市场股指期货套利.pdf, 利用上证50ETF, 上证红利ETF 和深证100ETF 来复制沪深300指数作为现货, 构建沪深300 股指期货的无套利边界,并对IF...