要想对股票进行分析,那么我们首先需要获取股票的历史数据,最省钱的办法就是去网络上爬取。

以下是我的做法,可供参考:

免费获取更多最新股市数据关注头像同名恭祝好!

第一部分是code,即股票代码,如果是沪市,则在代码前加个6,深市加个0,创业板加个3;

第二部分是start,即开始日期,一般默认为上市日期;

第三部分是end,即结束日期,一般默认为最新一天;

第四部分是fields,即想要获取的股票的数据类型,详情见代码。

知道了这些以后,我们就可以针对不同的个股组装不同的URL来抓取数据了。

那么我们需要的数据主要有两个,

一个是个股的代码清单,

另一个则是个股的上市日期,

这两个数据可以直接从一些炒股客户端上下载下来 ,如果你嫌烦的话,也可以从我这获取。

我是用Java写的,代码如下:

 public void doinitBaseInfoData() {//TODO /** 1. get all codeList* 2. for every code, get txt* * */List<String> codeList = onMarketBaseServiceMapper.getAllCodeList();for (String code : codeList) {String fileName = Constants.DIR_NETEASE + code + ".txt";File tempFile = new File(fileName);if (tempFile.exists()) {System.out.println(fileName + " exists!");continue;}StringBuffer urlBuffer = new StringBuffer("http://quotes.money.163.com/service/chddata.html?code=");if (code.startsWith("0")) {urlBuffer.append("1");} else if (code.startsWith("3")) {urlBuffer.append("1");} else if (code.startsWith("6")) {urlBuffer.append("0");} else {System.out.println("code not start in 0 or 3 or 6!");continue;}urlBuffer.append(code).append("&start=");Date marketDate = onMarketBaseServiceMapper.queryMarketDateByCode(code);urlBuffer.append(marketDate.toString()).append("&end=20191227&fields=TCLOSE;HIGH;LOW;TOPEN;LCLOSE;CHG;PCHG;TURNOVER");System.out.println(urlBuffer.toString());FileUtils.writeData2File(WebUtils.getURLInfo("GB2312", urlBuffer.toString()), fileName);System.out.println(fileName + " got from web!");Utils.sleep(5 * 1000);}}
 private static String ERROR_URL = "error_URL!";public static String getURLInfo(String charset, String urlInfo){//读取目的网页URL地址,获取网页源码StringBuffer webDataBuf = new StringBuffer("");try {URL url = new URL(urlInfo);HttpURLConnection httpUrl;httpUrl = (HttpURLConnection)url.openConnection();httpUrl.setConnectTimeout(8 * 1000);httpUrl.setReadTimeout(25 * 1000);int code = httpUrl.getResponseCode();if (code != 200) {System.out.println();return ERROR_URL;}InputStream is = httpUrl.getInputStream();BufferedReader br = new BufferedReader(new InputStreamReader(is,charset));String line;while ((line = br.readLine()) != null) {webDataBuf.append(line).append("\n");}is.close();br.close();} catch (SocketTimeoutException ste) {System.out.println("SocketTimeoutException Read timed out!");return ERROR_URL;} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();return ERROR_URL;}return webDataBuf.toString();}

欢迎交流讨论。

网络爬虫获取股票历史行情相关推荐

  1. 利用聚宽获取股票历史行情数据

    1.背景 做量化交易的时候经常要用到股票的历史数据,例子中主要爬取每分钟'date','time''open','close','high','low','volume','money','avg'这 ...

  2. 股票历史数据-股票历史行情数据查询

    股票历史数据-股票历史行情数据查询 共享一个股票历史行情数据查询的工具,股票历史行情数据查询的是从股票成立到最近一天的所有历史数据,亲测手机就能查询股票历史行情数据.下载股票历史行情数据 亲测获取步骤 ...

  3. Python学习——(2)通过网络爬虫获取数据

    通过网络爬虫获取数据 1. 和爬虫有关的HTTP ​ HTTP是网络数据通信的基础.在本节中会围绕Python网络爬虫讲述常用HTTP知识点. 1.1 基于HTTP的请求处理流程 ​ 当用户在浏览器的 ...

  4. 小猿圈分享利用python网络爬虫获取网易云歌词

    今天小猿圈给大家分享网易云音乐歌词爬取方法. 本文的总体思路如下: 找到正确的URL,获取源码: 利用bs4解析源码,获取歌曲名和歌曲ID: 调用网易云歌曲API,获取歌词: 将歌词写入文件,并存入本 ...

  5. 手把手教你使用Python网络爬虫获取B站视频选集内容(附源码)

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 位卑未敢忘忧国,事定犹须待阖棺. ...

  6. 股票历史行情数据api_历史API

    股票历史行情数据api Introduction 介绍 Access the History API 访问历史记录API Navigate the history 浏览历史 Add an entry ...

  7. A股全市场股票历史行情1分钟高频数据

    A股全市场股票历史行情1分钟高频数据 百度共享网盘 链接: https://pan.baidu.com/s/1Ki9lBRNrv1_5ufgmNdrlVQ 提取码: fxb4 20210年 -2021 ...

  8. Python网络爬虫获取淘宝商品价格

    1.Python网络爬虫获取淘宝商品价格代码: #-*-coding:utf-8-*- ''' Created on 2017年3月17日 @author: lavi ''' import reque ...

  9. python处理行情数据_Python获取股票历史、实时数据与更新到数据库

    要做量化投资,数据是基础,正所谓"巧妇难为无米之炊" 在免费数据方面,各大网站的财经板块其实已提供相应的api,如新浪.雅虎.搜狐...可以通过urlopen相应格式的网址获取数据 ...

最新文章

  1. 卷积神经网络中10大拍案叫绝的操作!
  2. java中文乱码decode_java中文乱码
  3. php取汉字第一个字,php---------取汉字的第一个字的首字母
  4. 【转载】谁记录了mysql error log中的超长信息
  5. 50个常用元器件图片_盘点2020年wordpress常用的50个插件合集
  6. sklearn综合示例3:逻辑回归
  7. python怎么重命名word文件,Python读取word文本操作详解
  8. ios截屏 u3d导出Xcode工程截屏
  9. 无序数组求第k大的数 python_【python刷题】寻找数组中第K大/小的数
  10. 计算机基础17秋在线作业3,南开17秋学期《计算机应用基础》在线作业3
  11. 数据挖掘与python实践心得体会_数据挖掘心得体会
  12. Android CheckBoxPreference设置默认值会触发持久化以及其内部实现逻辑
  13. 关于单链表结构体定义结点时 LNode *LinkList的理解
  14. Interactive Path Reasoning on Graph for Conversational Recommendation阅读笔记
  15. 图书管理系统(查找图书和输出全部图书)
  16. 美通社企业新闻汇总 | 2019.1.23 | 上海迪士尼建疯狂动物城园区;戴森运营总部移至新加坡...
  17. 开关面板如何自己印字_墙壁开关上的商标是怎么印上去的
  18. venue 11 pro 刷linux,普通用户关心的JingOS问题解答,由JingOS开发人员作答
  19. 高人气高颜值蓝牙耳机推荐,刷爆抖音的七款游戏低延迟蓝牙耳机
  20. 区块链与实体产业相结合加速推进数字经济智能化发展

热门文章

  1. jz2440 配置网络环境
  2. 怎么储存才能让CPU永久性使用导热硅脂
  3. 深度学习与计算机视觉系列(5)_反向传播与它的直观理解
  4. ensp配置基本语句
  5. opencv+face_recognition+python实现换脸(face swap)操作(3)——基于普氏分析法(Procrustes Analysis)的代码实现
  6. python+selenium——详解介绍Selenium常用API的使用--python语言(完整版)
  7. 喵的Unity游戏开发之路 - 互动环境(有影响的运动)
  8. 重要的, 需要记下来的
  9. 法兰盘零件机械加工工艺规程编制及加工右大斜面用铣床专用夹具设计
  10. Nmap入门:隐私刺探