原创 +2银贝 [数据篇]爬取同花顺,东方财富单日炸板数据

小小的夏天 2023-8-29 522

一、前言

之前研究炸板时用到的炸板数据是自己算的,在实盘的时候偶尔发现计算有问题,就是最高价差点上板了,但影响不大,但如果用到相对准确的炸板数据,就要从网上自己爬了,且网上的炸板数据相对比较齐全,有开板次数,我看了一下东方财富的炸板数据和同花顺的炸板数据,发现东方财富的数据只能追溯近一个月的数据,而同花顺的能追溯到近一年的数据,但同花顺的数据有反爬机制,短时间多次爬取会被封,当然我已经解决这个反爬的问题了,但相对比较复杂,所以打算分开两个帖子写,一个是爬历史炸板数据和单日炸板数据,单日炸板数据的代码也分了三个:同花顺单日炸板数据、东方财富单日炸板数据、去反爬功能的同花顺炸板数据。

二、东方财富单日炸板数据

网址:http://quote.eastmoney.com/ztb/detail#type=zbgc

代码:

import pandas as pd
import akshare as ak
pd.set_option('max_rows', None)
pd.set_option('max_columns', None)
pd.set_option('expand_frame_repr', False)
pd.set_option('display.unicode.east_asian_width', True)

date = '20230828'
stock_zt_pool_zbgc_em_df = ak.stock_zt_pool_zbgc_em(date=date)
print(stock_zt_pool_zbgc_em_df)

三、同花顺单日炸板数据

网址:https://data.10jqka.com.cn/datacenterph/limitup/limtupInfo.html#/

代码:

import requests
import pandas as pd
from fake_useragent import UserAgent
import random
import warnings

warnings.filterwarnings('ignore')
pd.set_option('max_rows', None)  # 显示最多行数
pd.set_option('max_columns', None)  # 显示最多列数
pd.set_option('expand_frame_repr', False)  # 当列太多时显示不清楚
pd.set_option('display.unicode.east_asian_width', True)  # 设置输出右对齐

date = '20230829'  # 某日炸板

def generate_random_number():
    random_part = random.randint(0, 10 ** 6 - 1)
    return 1693164000000 + random_part


number = generate_random_number()
headers = {
    'User-Agent': str(UserAgent().random)
}
res = requests.get(
    f'https://data.10jqka.com.cn/dataapi/limit_up/open_limit_pool?page=1&limit=15&field=199112,9002,48,1968584,19,3475914,9003,10,9004&filter=HS,GEM2STAR&date={date}&order_field=199112&order_type=0&_={number}',
    heade

本主题为课程学员专享,成为股票量化投资课程学员后可免费阅读

成为学员
最新回复 ( 1条评论 )


官方微信
码力十足学量化
Powered by Xiuno BBS 4.0.7

官方微信