之所以爬一年的,主要是一年以上参考意义不大,所以在查询日期上做了限制,其实可以爬取所有历史数据。

下面是代码:

# -*- coding: utf-8 -*-
"""
Created on Sun Dec 12 18:56:30 2021@author: davis
"""#做一个代码,能够从另一个基金接口抓取不同基金的历史数值(当然也包括当天的数值)进行显示,然后保存到txt中供后面的计算
#因为日常做基金的决策,还需要用到相比于昨天的涨跌,一个星期内的涨跌,一个月的涨跌,三个月的涨跌
#所以这些信息最好也能爬到,还有就是当天的涨跌幅相比于最近一个月是一个什么水准,比如涨1%,有些很寻常,有些很厉害import urllib.request
import re
import timedef openurl(url):proxy_support=urllib.request.ProxyHandler({'http':'182.84.144.73'})#找一个代理ipopener = urllib.request.build_opener(proxy_support)#定义一个openeropener.addheaders=[('User-Agent','Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0')]#opener的一个headersurllib.request.install_opener(opener)head={}head['Connection']='close'req=urllib.request.Request(url) #先request得到对象response=urllib.request.urlopen(req) #然后得到response对象html=response.read().decode('utf-8')#然后进行解码得到我们要的格式return htmldef get_name(html):ming=r'name":"[^j]+"'#正则表达式,规定了我需要爬取的链接的格式,正则表达式,加括号没影响,多个括号代表多个条件mingcheng=re.findall(ming,html)[0]text11=mingcheng.lstrip('name":"')text12=text11.rstrip('","')return text12def get_information(html2,dizhi):shi=r'<td>[0-9]{4}-[0-9]{2}-[0-9]{2}</td>'#<td>2021-12-13</td>shijian=re.findall(shi,html2)jing=r'>[0-9]\.[0-9]{4}</td>'#>1.4195</td>jingzhi=re.findall(jing,html2)jingzhiquchong=[]for i in range(0,len(jingzhi)):if i%2 ==0:jingzhiquchong.append(jingzhi[i])#不能直接pop,因为pop了前面的,后面的会往前挪,这样后面的奇偶就不准了,最后还是选择了新建一个zhang=r'>[^%]{4,5}%</td>'#>-0.80%</td>zhangfu=re.findall(zhang,html2)for i in range (0,len(shijian)):text11=jingzhiquchong[i].lstrip('>')text12=text11.rstrip('</td>')text21=zhangfu[i].lstrip('>')text22=text21.rstrip('</td>')text31=shijian[i].lstrip('<td>')text32=text31.rstrip('</td>')with open(dizhi,'a',encoding='utf-8') as f:#在python当中需要用到的路径符号是反斜杠,a是继续写,w是覆盖text = '\n'+text32+'    '+text12+'    '+text22f.write(text)if __name__ == '__main__':jijinlist=[]f = open("C://Users/davis/Desktop/ttjj.txt",encoding='utf-8')while True:line = f.readline()if line:jijinlist.append(line)else:breakf.close()#然后针对每一个基金,创建一个txt,用来记录这个基金最近一年的波动情况for jjnumber in jijinlist:jijincut=jjnumber.rstrip('\n')url1='https://fundgz.1234567.com.cn/js/'+jijincut+'.js?rt=1463558676006'html1=openurl(url1)jjname=get_name(html1)dizhi='C://Users/davis/Desktop/'+jjname+'.txt'with open(dizhi,'a',encoding='utf-8') as f:f.write('净值时间  基金净值    涨跌幅度\n')f.closecurrentdate=time.strftime("%Y-%m-%d", time.localtime())currentdatelist=list(currentdate)currentdatelist2=currentdatelistcurrentdatelist2[3]=str(int(currentdatelist[3])-1)lastyear=''.join(currentdatelist2)for i in range (0,6):url2=['https://fundf10.eastmoney.com/F10DataApi.aspx?type=lsjz&code='+jijincut+'&page=1&per=41&sdate='+lastyear+'&edate='+currentdate,'https://fundf10.eastmoney.com/F10DataApi.aspx?type=lsjz&code='+jijincut+'&page=2&per=41&sdate='+lastyear+'&edate='+currentdate,'https://fundf10.eastmoney.com/F10DataApi.aspx?type=lsjz&code='+jijincut+'&page=3&per=41&sdate='+lastyear+'&edate='+currentdate,'https://fundf10.eastmoney.com/F10DataApi.aspx?type=lsjz&code='+jijincut+'&page=4&per=41&sdate='+lastyear+'&edate='+currentdate,'https://fundf10.eastmoney.com/F10DataApi.aspx?type=lsjz&code='+jijincut+'&page=5&per=41&sdate='+lastyear+'&edate='+currentdate,'https://fundf10.eastmoney.com/F10DataApi.aspx?type=lsjz&code='+jijincut+'&page=6&per=41&sdate='+lastyear+'&edate='+currentdate,]html2=openurl(url2[i])get_information(html2,dizhi)

然后,就在桌面自动生成了几个txt,文件名是基金名称,文件里面是基金的日期,净值,涨跌幅信息

python爬取一年的基金历史数据,涨跌幅,净值相关推荐

  1. Python爬取晨星网的基金数据

    # -*- coding: utf-8 -*-import sys from lxml import etree import time import random import requests i ...

  2. 股价翻番 人生赢家,python爬取基金 筛选股票

    前言: 听说你想要变富?那就沉住气慢慢来吧,没听过这句名言么:"穷人总是不想慢慢的变富".都想着一夜暴富,中个彩票啥的,可哪有那么幸运呢?总不能像我一样中了78万的彩票,然后自己偷 ...

  3. 集思录REITs基金数据python爬取写入EXCEL表

    本文主要讲述REITs基金相关内容, 封闭基金数据获取参见: 集思录封闭基金数据python爬取写入excel表 国债数据获取参见: 和讯网债券数据Python爬取保存成CSV文件之一 1.什么是RE ...

  4. 集思录封闭基金数据python爬取写入excel表

    本文是在之前文章"集思录REITs基金数据python爬取写入EXCEL表"的基础上写成的. 封闭式基金,是相对于开放式基金而言的,是指基金规模在发行前已确定,在发行完毕后和规定的 ...

  5. 用python爬取实时基金估值

    用python爬取实时基金估值 首先我们需要用表格创建一个csv文件用于存放我们的数据: csv文件样式如下: 获取动态基金的数据代码方式如下,首先打开同花顺爱基金网址: 比如我用的(000001), ...

  6. 如何使用Python爬取基金数据,并可视化显示

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于Will的大食堂,作者打饭大叔 前言 美国疫情越来越严峻,大选也进入 ...

  7. 轻松入门Python爬取基金数据

    美国疫情越来越严峻,大选也进入了最后阶段,受之影响美股指数也在在下行中.最近的A股也在跟随美股没有什么起色,一直在动荡整理之中.玩股票基金的同学们,最近大家的仓位控制的怎么样?为了更好的科学分析基金, ...

  8. python爬取各类基金数据,以『动图可视化』方式展示基金的涨跌情况

    01前言 去年接触基金,体会到了基金的香(真香),今天也是过年后基金开始交易的第一天,今天爬取『蛋卷基金』数据,通过pyecharts动图可视化方式展示基金的涨跌情况. 本文将围绕这三点去进行爬取数据 ...

  9. 用python爬取基金网信息数据,保存到表格,并做成四种简单可视化。(爬虫之路,永无止境!)

    用python爬取基金网信息数据,保存到表格,并做成四种简单可视化.(爬虫之路,永无止境!) 上次 2021-07-07写的用python爬取腾讯招聘网岗位信息保存到表格,并做成简单可视化. 有的人留 ...

最新文章

  1. commons-httpclient 和 httpclient 区别
  2. 面试官问:跨域请求如何携带cookie?
  3. 小试---EF5.0入门实例1
  4. linux查看hid设备,linux hid设备读写
  5. android x86 arm translator,让x86的android模拟器能模拟arm架构系统
  6. php根据下标倒序排,PHP的三种排序方式
  7. java 数组减除值_java数组操作 - osc_hwpd2zko的个人空间 - OSCHINA - 中文开源技术交流社区...
  8. hdu 2234(IDA*)
  9. 软考程序员Java答题速成_软考程序员考试下午考题解答技巧方法
  10. Mac下超级好用的5个顶级“实用”APP推荐
  11. 安装最好用的计算机软件,装机软件哪个好?教您最好的装机软件推荐
  12. Centos7 Springboot 启动脚本
  13. 最简单的pdf加水印方法,五个步骤很详细
  14. 详解 Secondary NameNode
  15. 【python】微信公众号开发
  16. 读书清单2【一篇装不下】
  17. C语言实现三子棋游戏(规范化)
  18. 十大畅销经济学类书籍
  19. 多元正态分布的后验采样
  20. 验证本地缓冲区溢出漏洞攻击

热门文章

  1. ue4菜单栏的碰撞图文_工具栏发生碰撞时
  2. 理财第一步-国债逆回购
  3. 将字符串s='ab34aa243dd78eww89' 处理为 '**34**243**78***89',然后对数字求和,结果为'**7**9**15***17'...
  4. python基础之heapq模块(堆模块)
  5. TMS320F28xx ADC转换图解
  6. RPM的强制安装和强制卸载
  7. 2007中国理财年度人物评选榜单揭晓
  8. mysql怎么添加索引
  9. linux top命令看磁盘,linux top命令详解
  10. 教培管理机构如何提高家长续费率