首页 > 其他分享 >18.获取天天基金基金的净值数,封装成方法

18.获取天天基金基金的净值数,封装成方法

时间:2023-02-03 23:23:10浏览次数:40  
标签:封装 数据 df 18 list print import data 基金

 1 # 爬虫
 2 # 该项目是爬取天天基金网某只基金的净值数据
 3 
 4 # 1.引入包
 5 # 网络请求
 6 import json
 7 
 8 import requests
 9 # 正则
10 import re
11 # 数据分析工具
12 import pandas as pd
13 
14 # 获取基金净值数据方法,参数是:基金名称,代码,页面数
15 def get_data(name,code,page=11):
16     # 定义一个空的列表,存放每一页的数据
17     df_list = []
18     # for循环用来获取不同页码的数据,这里循环10次
19     for index in range(1, page):
20         # 2.请求的url地址或者接口,基金代码,页面数使用花括号占位
21         url = "http://api.fund.eastmoney.com/f10/lsjz?callback=jQuery18306600264369919882_1675428357095&fundCode={}&pageIndex={}&pageSize=20&startDate=&endDate=&_=1675428744359".format(code, index)
22 
23         # 3.请求所需要的请求头内容
24         headers = {
25             "Host":"api.fund.eastmoney.com",
26             # 防盗链   确定访问来路是否非法
27             "Referer":"http://fundf10.eastmoney.com/",
28             # 身份验证,模拟浏览器发出
29             "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Edg/108.0.1462.76"
30         }
31 
32         # 4.发送请求
33         resp = requests.get(url, headers=headers)
34 
35         # 5.打印获取的数据
36         data = resp.text
37         print(data)
38 
39 
40         # 6.通过正则表达式获取只想要的数据
41         data = re.findall("\((.*?)\)", data)
42         print(data)
43 
44         # 7.将数据转换成json格式
45         data = json.loads(data[0])["Data"]["LSJZList"]
46         print(data)
47 
48         # 8.使用pandas格式化数据
49         df = pd.DataFrame(data)
50         # print(df)
51 
52         # 9.将每一页数据添加到列表中
53         df_list.append(df)
54 
55     # 10.打印列表中的所有数据
56     # print(df_list)
57 
58     # 11.合并列表中的数据
59     df_data = pd.concat(df_list)
60     print(df_data)
61 
62     # 12.将数据保存到csv中,行号不保存
63     df_data.to_csv("{}.csv".format(name), index=False)

 

标签:封装,数据,df,18,list,print,import,data,基金
From: https://www.cnblogs.com/mxx520/p/17090689.html

相关文章

  • 【2018网鼎杯】fakebook
    Info信息:题目来源:网鼎杯2018标签:PHP、源码泄露、SSRF、反序列化、SQL解题过程:首先进行目录扫描,发现以下目录:user.php.baklogin.phpflag.phpuser.phprobots.txt......
  • 17.爬取天天基金中万家精选混合A (519185)的净值数据
    1#爬虫2#该项目是爬取天天基金网某只基金的净值数据34#1.引入包5#网络请求6importjson78importrequests9#正则10importre11#数据......
  • C# adb封装类
    为了方便操作apk实现app的自动化点击封装了个adb操作了。基本上的操作都有了usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingSyst......
  • Promise 封装 $.ajax
    完整文档 html<inputtype="file"multipleid="filess"><buttononclick="jqueryAjax3()">上传文件ss</button><pid="filess_progress"style="width:0px;height......
  • js深拷贝封装方法
    //使用递归的方式实现数组、对象的深拷贝functiondeepClone1(obj){//判断拷贝的要进行深拷贝的是数组还是对象,是数组的话进行数组拷贝,对象的话进行对象拷贝varob......
  • 封装一个Vue UI组件库 ,并实现按需加载
    这篇文章会介绍如何基于VueCLI命令行工具封装一个VueUI组件库。之前有写过React版本从零开始配置做一个ReactUI组件的文件,有兴趣的可以看下。从零开始封装React......
  • vue封装带有全选的多选框
    ​ 基于element-ui的多选框组件(el-checkbox)进行二次封装,将全选的逻辑都封装到组件内部,使用v-model的方式进行数据的绑定,方便使用。依赖[email protected]效果......
  • ubuntu18安装vsftpd无坑笔记
    环境ubuntu18.04server版,折腾了两天,千山万水淌过来的,分享给大家,少走弯路1.安装sudoaptinstallvsftpd2.配置vim/etc/vsftpd.confanonymous_enable=NOlocal_enable=Y......
  • POJ 1182 食物链(并查集)
    Description动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B,B吃C,C吃A。 现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是......
  • 2019年8月18日总结
    这一周主要看了数据结构进阶,本来一周看完的,但是感觉很难,到了后面很难理解,后两天就去做题不再看新知识了,然后就剩下一节了,下周看完并熟练掌握。下午开了一个五个小时的比赛,是......