本文是在之前文章“集思录REITs基金数据python爬取写入EXCEL表”的基础上写成的。
封闭式基金,是相对于开放式基金而言的,是指基金规模在发行前已确定,在发行完毕后和规定的期限内,基金规模固定不变的投资基金。在封闭基金的整个封闭期内只能在二级市场进行交易,和开放式基金不同,封闭式基金通常有一定的折价,并且由于流动性比较差、成交额较小,大资金不容易进出,对于普通的个人投资者比较友好。
本文以集思录封闭基金数据为源,编写下文所示python代码写入CSV文件,以计算机日期命名保存到指定文件夹下。
代码如下所示:
import json
import requests
import csv
import re
from lxml import etree
from datetime import datetime
import os
#从网页获取封闭基金信息写入一个二维列表
def get_data():
try:
headers = {"User-Agent": "Mozilla/5.0 "}
url = "https://www.jisilu.cn/data/cf/cf_list/?___jsl=LST___t=1643800017794"
r = requests.get(url)
r.raise_for_status()
data = r.content.decode("utf-8")
dat = json.loads(data)
# 所有数据
lst_data = []
for one in dat['rows']:
# 每一条数据
lst_dat = []
# 封闭基金代码
id = one["id"]
dat_cell = one["cell"]
# 封闭基金名称
name = dat_cell['fund_nm']
# 现价
price = dat_cell['price']
#成交额
volume = dat_cell['volume']
#净值
realtime_estimate_value = dat_cell['realtime_estimate_value']
#最近估值
net_value = dat_cell['net_value']
#折价率
discount_rt = dat_cell['discount_rt']
#剩余年限
left_year = dat_cell['left_year']
#年化折价率
annualize_dscnt_rt = dat_cell['annualize_dscnt_rt']
#基金公司
fund_company = dat_cell['fund_company']
#为每一条封闭基金添加信息
lst_dat.append(id)
lst_dat.append(name)
lst_dat.append(price)
lst_dat.append(volume)
lst_dat.append(realtime_estimate_value)
lst_dat.append(net_value)
lst_dat.append(discount_rt)
lst_dat.append(left_year)
lst_dat.append(annualize_dscnt_rt)
lst_dat.append(fund_company)
#构建封闭基金列表
lst_data.append(lst_dat)
return lst_data
except:
return "获取数据失败"
#将二维列表信息写入CSV文件
def write_csv(data):
# 1.创建指定文件夹
path = r'F:\ClosedFund'
if not os.path.exists('F:/ClosedFund'):
os.mkdir(path)
os.chdir(path)
# 2.创建文件对象,并以日期命名文件
f = open(datetime.now().date().isoformat()+'封闭基金.csv', 'w', encoding='utf-8', newline='')
# 3. 基于文件对象构建 csv写入对象
csv_writer = csv.writer(f)
# 4. 构建列表头
csv_writer.writerow(["代码","名称","现价","成交额(万元)","净值","最近估值","折价率","剩余年限","年化折价率","基金公司"])
# 5. 写入csv文件内容
for dat in data:
csv_writer.writerow(dat)
# 6. 关闭文件
f.close()
def main():
data = get_data()
write_csv(data)
main()
最总封闭基金CSV文件如下所示:
欢迎各位大佬指正。
备注:投资有风险、入市需谨慎?
|