蛋卷基金组合推荐,蛋卷基金组合估值
本文主要介绍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 requestsimport 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=CSI1033url=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 concyclicsimport 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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。