深A所有股票历史信息爬取



数据结构

每个Json文件包括150个股票,每只股票包括股票代码和可查询到的所有历史信息。

例:[‘2021-12-31’, ‘89.95’, ‘89.95’, ‘0.00’, ‘0.00%’, ‘89.40’, ‘90.54’, ‘4265’, ‘3838.19’, ‘2.13%’]

日期今日开盘价今日收盘价涨跌幅度涨跌百分比今日最低价今日最高价今日成交股票手数今日成交金额(单位:万)换手率
2021-12-3189.9589.950.000.00%89.4090.5442653838.192.12%

Json文件对应股票代码

Json文件Code
data1.json000001——000564
data2.json000565——000786
data3.json000788——000999
data4.json001201——002125
data5.json002126——002278
data6.json002279——002429
data7.json002430——002582
data8.json002583——002738
data9.json002739——002900
data10.json002901——300018
data11.json300019——100173
data12.json300174——300325
data13.json300326——200479
data14.json300480——300632
data15.json300633——300791
data16.json300792——300950
data17.json300951——301138

python代码

import json

import requests

hd = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
                    'Chrome/99.0.4844.82 Safari/537.36'}
url = 'https://xuanguapi.eastmoney.com/Stock/JS.aspx?type=xgq&sty=xgq&token=eastmoney&c=[gf2]&p=1&jn=kuAPFImR&ps=3000&s=stockcode&st=1&r=1659237663728'
response = requests.get(url, headers=hd)
info = response.text
info = info[13:len(info)]
info = json.loads(info)
code_all = []
for i in range(len(info['Results'])):
    code_all.append(info['Results'][i][2:8])
date_all = []
num = 0
num_0 = 0
for i in range(len(code_all)):
    cn_code = code_all[i]
    cn_code = cn_code.zfill(6)
    start_time = '19900101'
    end_time = '20220101'
    url = 'https://q.stock.sohu.com/hisHq?code=cn_' + cn_code + '&start=' + start_time + '&end=' + end_time
    response = requests.get(url, headers=hd)
    info = response.json()
    try:
        if info[0]['status'] == 0:
            date_all.append([cn_code, info[0]['hq']])
            num = num + 1
        print(cn_code)
    except:
        continueif num == 150:
        num = 0
        num_0 = num_0 + 1
        with open('data' + str(num_0) + '.json', 'w') as f:
            json.dump(date_all, f)
            print('ok')
        date_all = []
Social media & sharing icons powered by UltimatelySocial