网址:平安银行(000001)资金流向 _ 数据中心 _ 东方财富网、
爬取内容:
工具:jupyter notebook
所需要的包:
import requests ##获取网页 from bs4 import BeautifulSoup import pprint import json import pandas as pd from lxml import etree ##解析文档 import re
首先在原网页上进入开发者模式,点击网络后ctrl+r重新载入,会发现,该网站的数据采用的jQuery编码,因此我们可以找到一个含有所有表格数据的url:
所以获取源代码:
url=f'http://push2his.eastmoney.com/api/qt/stock/fflow/daykline/get?cb=jQuery112309173939785847636_1634476786717&lmt=0&klt=101&fields1=f1%2Cf2%2Cf3%2Cf7&fields2=f51%2Cf52%2Cf53%2Cf54%2Cf55%2Cf56%2Cf57%2Cf58%2Cf59%2Cf60%2Cf61%2Cf62%2Cf63%2Cf64%2Cf65&ut=b2884a393a59ad64002292a3e90d46a5&secid=0.000001&_=1634476786718' data=requests.get(url)#获取网页源代码 data.encoding='utf-8' str1=str(data.text)
再将内容转化为字典,提取字典中的'klines',将数据转换为list
dict1=eval(str1[42:-2])#转化为字典 dict2=dict1['data']['klines'] list1=list(dict1['data']['klines'])#提取字典中的'klines',将数据转换为list print(dict2[1]) split=re.split('[,]',dict2[1]) print(split)
将数据切片,将例如2021-05-19,-5004505.0,-37477279.0,42481776.0,67939072.0,-72943577.0,-0.49,-3.67,4.15,6.64,-7.13,23.60,-1.26的数据按逗号分开,从而直接转为列表
i=0 list1=[] for i in range(len(dict2)): i=1+i split=re.split('[,]',dict2[i]) list1.append(split) print(list1) #数据切片,将例如2021-05-19,-5004505.0,-37477279.0,42481776.0,67939072.0,-72943577.0,-0.49,-3.67,4.15,6.64,-7.13,23.60,-1.26的数据按逗号分开,从而直接转为列表
输出为excel:
df1=pd.Dataframe(list1) df1.columns=['日期','主力净流入-净额','小单净流入-净额','中单净流入-净额','大单净流入-净额','超大单净流入-净额','主力净流入-净占比','小单净流入-净占比','中单净流入-净占比','大单净流入-净占比','超大单净流入-净占比','收盘价','涨跌幅','0','0'] print(df1) df1.to_excel('C:\Users\hanyun\Desktop\d.xlsx')
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)