写了一个工具分析基金回撤,分享实现过程

  最近有一个网友让我帮他写一个工具分析基金回撤情况,前几天项目比较忙就直没动手,今天晚上有点时间,研究了一下。

先把今天的研究成果分享:

  要分析基金净值回撤,首先肯定要有基金的净值变化数据。要抓数据肯定是到天天基金网上抓,毕竟人家是专业机构。

我找了一只个人比较喜欢的基金,易方达中小盘混合 (110011),在天天基金网站上很容易找到它的历史净值页面:

  http://fundf10.eastmoney.com/jjjz_110011.html

  因为之前抓过天天基金当日基金净值数据,知道它的页面数据是藏在js里面,在浏览器访问页面后,执行js从服务器动态获取再展示到浏览器。

  要知道是哪个js脚本,方法有很多。我用的是谷歌浏览器自带的开发者工具,如下图:

  打开开发者工具的情况下浏览基金净值页面,就看到该页面访问的所有资源网址。数据比较乱,不过关心的只是js,所以按类型排了序。不过可以看出来访问的js也不少,暂时还不好知道是哪一个js包含我要的数据。

  由于默认只显示了第一页数据,所以我就随意点了其它页净值,从访问的资源列表变化情况,很容易发现想要的js网址,如图

  把这些带有callback的js网址拷下来,如下:

http://api.fund.eastmoney.com/f10/lsjz?callback=jQuery183018519977574130597_1558194911277&fundCode=110011&pageIndex=6&pageSize=20&startDate=&endDate=&_=1558195435735

  从命令参数上猜测fundCode是基金代码,pageIndex是净值页面页码,其它参数暂时不知道意义。

  先尝试使用这个网址在浏览器访问看是啥情况:

  

  可以看出网站对这个js访问做了控制,不让用户直接在浏览器访问。 由于对于http抓包不大熟悉,不清楚这种情况下要怎么处理,总不至于需要写一个浏览器来抓一个js数据吧。

于是找了一个熟悉抓包的朋友咨询一下。咨询结果明天再说,跟下面这个请求有关。

GET /f10/lsjz?callback=jQuery183018519977574130597_1558194911277&fundCode=110011&pageIndex=4&pageSize=20&startDate=&endDate=&_=1558195568400 HTTP/1.1
Host: api.fund.eastmoney.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36
Accept: */*
Referer: http://fundf10.eastmoney.com/jjjz_110011.html
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9

  

原文地址:https://www.cnblogs.com/kingstarer/p/10887954.html

时间: 2024-11-11 10:24:29

写了一个工具分析基金回撤,分享实现过程的相关文章

写了一个DELPHI操作USB摄像头类分享给大家

最近在使用Usb摄像头做了个项目,其中写了一个操作usb摄像头类分享给大家 {*******************************************************} { } { 操作USB摄像头类 } { } { 作者:lqen } { 日期:2015.05.18 } { } {*******************************************************} unit untUsbCamera; interface uses Window

对象序列化和反序列化应该写为一个工具类

对象序列化和反序列化工具类 package com.umu.util; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInput; import java.io.ObjectInputStream; import java.io.Object

利用java多线程写的一个工具向MongoDb中存储大量数据

jdk:1.7mogodb:3.2mongodb_java_driver:3.2.2 1 import java.io.BufferedReader; 2 import java.io.File; 3 import java.io.FileInputStream; 4 import java.io.IOException; 5 import java.io.InputStreamReader; 6 import java.util.LinkedList; 7 import java.util.L

以前写的一个下载小说的工具

因为当时发现只有一个站点有.但是时时联网的要求太让人不爽.就写了一个给全下下来了. 用到了: 1. 正则表达式,分析章节和内容: 2. 线程池下载,并且对下载中的相关超时做了一些处理: 3. 文件生成与写入,注意格式问题: 结合下载来说一下使用中的感受: 1. 下载并没有想像的飞一般的速度: 2. 经常会出现错误,章节读取不到,(估计是服务器无法响应): 3. 终于不用一直联网了. *__*

自己写的一个自动化测试任务执行工具(模板)

@echo off REM 设置自动执行的最大次数 SET nMaxJobTimes=100 REM 启用变量延迟 setlocal enabledelayedexpansion FOR /L %%i IN (0,1,%nMaxJobTimes%) DO ( cls echo. echo. echo ******************************************** echo. echo 测试任务自动化执行工程 echo 版本:v1.0.0.1 echo. echo ***

分享一个很早之前写的小工具DtSpyPlus

几年前写的一个获取windows窗体基本信息和屏幕取色的小工具 ,一直在用. 下载地址 http://files.cnblogs.com/dint/SpyPlus.zip

用cefsharp写了一个保存网页为单文件html的小工具

折腾了两天,用cefsharp写成了一个保存网页为单文件html的小工具. 主要功能嘛 就是把自己感觉有用的网页保存下来,保存为一个单独的html文件. 特点嘛就是可以在保存前做一些裁剪. 见下图: 热键F11 裁剪到选中部分(也就是只保留选中部分,其它的全删除掉), 热键F12 删除掉选中部分. 文件被自动保存到C盘下的一个目录: 如果不想要图片,可以一键把页面上的图片删除掉.如下图: 查看源文件,可以发现其中的图片都是使用base64字符串方式保存的. 工具栏上[清理]的功能是删除掉 scr

写了一个百度网盘资源搜索程序

一.引言 古语有云:“活到老学到老”.表达出一种“生命不止,学习不止”的学习进取精神,是一种乐观的激励!作为程序员更应该如此,否则就会被淘汰.今天我所要讲的不是如何去学习,而是怎么在网上找到我们所需求的资源. 二.百度网盘搜索方法 找资源的方法有很多,如:百度,谷歌搜索.而我讲的是如何搜索“百度网盘”里面的资源. 具体方法:在搜索引擎中搜索:site:pan.baidu.com 关键词,如下图.亲测必应,谷歌可以. 三.写了一个程序 为了自己搜索方便,索性写了一个程序去爬取必应的搜索结果,如下图

去年某比赛写的一个策划(一)

项目目的: 我们主题营销项目的目的是 1)推广YYY品牌, 2)含沙射影打击竞争对手品牌 3)针对目前正在如火如荼的XXXX大战,给公司助力 . 项目分三阶段 1.第一阶段 1) 项目主角:AZ 环境:星际安全大厦. 反派角色:幻影旅团(名称出自<全职猎人>),成员为破坏宇宙和平的反动黑客分子, 主要矛盾: AZ负责维护整个宇宙星际的安全 幻影旅团的破坏分子们(参考威震天等)没事就破坏宇宙和平人类安全 2)第一阶段任务 战队负责,制作 AZ及星际安全大厦和幻影旅团的飞船,飞船上部透明可以看见幻