蛋卷基金组合推荐,蛋卷基金组合估值

  蛋卷基金组合推荐,蛋卷基金组合估值

  本文主要介绍python矿业蛋卷基金投资组合的数据分析。有需要的朋友可以借鉴一下,希望能有所帮助。祝大家进步很大,早日升职加薪。

  00-1010一、网页分析1。打开网页2。查看json 2。数据采集1。观察json 3的结构。代码实现1。基本操作2。写一个可重用的函数。完整代码。

  

目录

  

一、网页分析

  我们在蛋卷基金上随机打开投资组合的网页,例如:

  链接: https://danjuanapp.com/strategy/CSI1033

  以微软Edge浏览器为例。

  点击下载查看详情。

  

1、打开网页

  选择“XHR”并找到一个以基金编号命名的文件。单击它以查看请求标题。

  点击下载查看详情。

  GET /djapi/plan/CSI1033 HTTP/1.1

  主机: danjuanapp.com

  连接:保持活动

  sec-ch-ua: 不是A;品牌;v=99 ,铬;v=90 ,微软Edge ;v=90

  Accept:应用程序/json,text/plain,*/*

  sec-ch-ua-mobile:0

  user-agent : Mozilla/5.0(Macintosh;英特尔Mac OS X 10 _ 15 _ 7)apple WebKit/537.36(KHTML,像壁虎一样)Chrome/90 . 0 . 4430 . 212 Safari/537.36 Edg/90 . 0 . 818 . 62

  elastic-APM-trace parent : 00-25105 e3e 8908 ba 33898 b 0 F6 CD 57 b8a 73-c 782 A0 e 5122 Abe 33-01

  Sec-Fetch-Site:同源

  秒取模式: cors

  Sec-Fetch-Dest:空

  推荐人: https://danjuanapp.com/strategy/CSI1033

  接受-编码: gzip,放气,br

  接受-语言: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6

  cookie : device _ id=web _ skhu 79t _ v;acw _ TC=2760774 a 16215745204941604 e 9286878 FD 10 c 566d 03 eedbbb 0 EB 93 c 40 E0 f 5;通道=未定义;xq _ a _ token=CCD 9918 C5 B2C 091 c 2d 0 DAC B2 e 264963 ba 5 FB 7539;hm _ lvt _ b 53 ede 02 df 3 afea 0608038748 f 4c 9 f 36=1621307606,1621428116,1621514481,1621574521;hm _ lpvt _ b 53 ede 02 df 3 afea 0608038748 f 4c 9 f 36=1621574634;时间戳=1621574634698

  好像没什么特别的。可能是没有防爬机制。最好直接点击这个链接试试。

  点击下载查看详情。

  原来基金基本信息的json就存放在这里!

  让我们观察这个地址:

  https://danjuanapp.com/djapi/plan/CSI1033

  只要换上最后一个数字,就可以得到每只基金的基本信息。

  

2、查看json

  

二、数据获取

  我们来看看这个json的结构。这里只截取了一些片段。

  {

  数据 : {

  计划代码 : CSI1033 ,

  Plan _ name 3360 主动优化组合螺钉,

  产量 :

  65.93",

   "yield_name": "成立以来收益",

   "yield_middle": "48.03",

   "yield_name_middle": "成立以来年化",

  ……

   "found_date": "2020-02-03",

   "manager_xq_id": "3079173340",

   "manager_name": "银行螺丝钉",

   "manager_profile_photo": "https://danjuan.aiganggu.com/o2020021580801637267.png",

   "invest_time_type": 2,

   "invest_time_name": "持有3年以上",

   "invest_money_type": 4,

   "invest_money_name": "积极增值",

   "found_days": 473,

   "min_buy_amount": "200",

   "plan_derived": {

   "end_date": "2021-05-20",

   "nav_grtd": "-0.03",

   "nav_grl1w": "2.38",

  ……

   "unit_nav": "1.6593",

   "yield_history": [{

   "yield": "-12.02",

   "name": "近3个月"

   }, {

   "yield": "7.40",

   "name": "近6个月"

   }, {

   "yield": "42.25",

  ……

  

  我们发现,所有数据都存在 data 下, data 里有基金的基本信息,当日净值存在 plan_derived 下的 unit_nav 里,那么我们只要按照这个顺序从中获取数据即可。

  

  

三、代码实现

  

  

1、基本操作

  a. 需要使用的模块

  用requests获取页面,用json库将json文件转化为字典。

  

import requests

  import json

  

  b. 随便设置一个请求标头

  

header={

   User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36

  }

  

  c. 获取页面信息

  这里的code为基金的代码,用requests获取页面以后读出具体的文本内容,存到page里。

  

code=CSI1033

  url=https://danjuanapp.com/djapi/plan/+code

  page=requests.get(url,headers=header).text

  

  我们把page输出出来检查一下,发现我们想要的都在里面。

  点击下载查看详图

  d. 导入json

  因为所有数据都在data里,所以我们直接进入data内即可。

  

items=json.loads(page)

  items=items.get("data")

  

  e. 从json中获取需要的信息

  基金的名字

  

name=items.get(plan_name)

  基金的当日净值以及净值的记录日期
这些数据在plan_derived内。

  

value=items.get(plan_derived).get("unit_nav")

  date=items.get(plan_derived).get("end_date")

  

  

  

2、写一个可以重复使用的函数

  我们以code作为传入的参数,把刚才的内容组合起来。

  

def getfund(code):

   url=https://danjuanapp.com/djapi/plan/+code

   page=requests.get(url,headers=header).text

   items=json.loads(page)

   items=items.get("data")

   value=items.get(plan_derived).get("unit_nav")

   date=items.get(plan_derived).get("end_date")

   name=items.get(plan_name)

   print("基金编号:",code,\n基金名:,name,"\n日期:",date,"净值:",value)

  

  

  

3、完整代码

  

#by concyclics

  import requests

  import json

  header={

   User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36

  }

  danjuan=[CSI1033,CSI1032,CSI1038,CSI1029,CSI1006,CSI1065]

  danjuan.sort()

  #获取当天信息

  def getfund(code):

   url=https://danjuanapp.com/djapi/plan/+code

   page=requests.get(url,headers=header).text

   items=json.loads(page)

   items=items.get("data")

   value=items.get(plan_derived).get("unit_nav")

   date=items.get(plan_derived).get("end_date")

   name=items.get(plan_name)

   print("基金编号:",code,\n基金名:,name,"\n日期:",date,"净值:",value)

  if __name__==__main__:

   for code in danjuan:

   getfund(code)

  

  

  这样,我们的功能就基本实现了,更多关于python挖掘蛋卷基金投资数据的资料请关注盛行IT软件开发工作室其它相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: