python爬虫东方财富网的股票资金流(以平安银行为例)

python爬虫东方财富网的股票资金流(以平安银行为例),第1张

python爬虫东方财富网的股票资金流(以平安银行为例)

网址:平安银行(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')

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/4655324.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-06
下一篇 2022-11-06

发表评论

登录后才能评论

评论列表(0条)

保存