用python爬取实时基金估值

Abina ·
更新时间:2024-09-21
· 921 次阅读

用python爬取实时基金估值
首先我们需要用表格创建一个csv文件用于存放我们的数据:
在这里插入图片描述
csv文件样式如下:
在这里插入图片描述
获取动态基金的数据代码方式如下,首先打开同花顺爱基金网址:
在这里插入图片描述
比如我用的(000001),打开之后右击检查:
在这里插入图片描述
点击network:
在这里插入图片描述
快捷键ctrl+r:
在这里插入图片描述
选择如图所示,获取:
在这里插入图片描述
最后就是爬虫代码的编写;下文已经编写好:

import requests #from bs4 import BeautifulSoup import csv import time print(time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime())) sFileName=open('基金.csv') rows=csv.reader(sFileName) time=input("please enter your time(like 1000):") print("增长的基金:") for row in rows: #print(row[-5:][1]) # print(''.join(row)) #l=["JSF202","JBH915","JSJ506","JPN219","JSJ131","JPG291","162703","JPN225"] #for i in l try: url="http://gz-fund.10jqka.com.cn/?module=api&controller=index&action=chart&info=vm_fd_"+row[-5:][1]+"&start="+time+"&" #改变爬虫头 headers={"User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36"} data=requests.get(url) data.encoding="UTF-8" datasplit=data.text.split("|") datasplit1=datasplit[1].split(";") datasplit2=datasplit[1].split(",") #print(datasplit2) mx=float(datasplit2[1])-float(datasplit2[2]) rata=mx/float(datasplit2[2])*100 except: print(row, "error") else: if rata>=0: print("{:_40.2f}".format(row[0][:][:], rata)) #print(row[-5:][0][:-4],format(rata,".2f")) #except : # print(row,"error") else: continue print("减值的基金:") import requests #from bs4 import BeautifulSoup import csv sFileName=open('基金.csv') rows=csv.reader(sFileName) time=input("please enter your time(like 1000):") for row in rows: try: url = "http://gz-fund.10jqka.com.cn/?module=api&controller=index&action=chart&info=vm_fd_" + row[-5:][ 1] + "&start=" + time + "&" # 改变爬虫头 headers = { "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36"} data = requests.get(url) data.encoding = "UTF-8" datasplit = data.text.split("|") datasplit1 = datasplit[1].split(";") datasplit2 = datasplit[1].split(",") # print(datasplit2) mx = float(datasplit2[1]) - float(datasplit2[2]) rata = mx / float(datasplit2[2]) * 100 except: print(row, "error") else: if rata < 0: print("{:_40.2f}".format(row[0][:][:], rata)) # print(row[-5:][0][:-4],format(rata,".2f")) # except : # print(row,"error") else: continue """
作者:jimmyback



用python 基金估值 基金 Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号