当前位置:网站首页>Get all stock data of big a
Get all stock data of big a
2022-07-05 12:12:00 【ziyi813】
Learn to practice reptile instances , Get stock data
Dongcai Weiwu , No crawler restrictions
https://www.eastmoney.com/robots.txt
obtain 4 Thousands of stock data are saved as csv
import requests
import re
import json
import time
def getApiRequest(url):
try:
headerParams = {
'user-agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36' }
r= requests.get(url, timeout=30, headers = headerParams)
r.raise_for_status()
return r
except:
return 'http request error !'
def rinseData(res):
try:
jsdata = re.findall(r'\(.*?\)', res.text)
dicts = json.loads(jsdata[0][1:len(jsdata[0])-1 ])
diff = dicts.get('data', []).get('diff', [])
return diff
except:
return []
def writeCsv(f, lslist):
try :
for item in lslist:
tmp = [item.get('f12'),item.get('f14'),item.get('f15'),item.get('f3'),item['f4'],item['f5'],item['f6'],item['f7'],item['f2'],item['f16'],item['f17'],item['f18'],item['f10'],item['f8'],item['f9'],item['f23'] ]
datastr = ''
for s in tmp:
datastr += str(s) + ','
f.write(datastr[:len(datastr)-1] + "\n")
except:
return 'write csv file Error'
def main():
total = 236
page = 20
start = time.perf_counter() # Starting time
f = open('gp.csv', 'w+', encoding='utf-8')
f.write(' Code , name , The latest price , applies , Up and down , volume ( hand ), turnover , The amplitude , The highest , The minimum , today , Yesterday , Volume ratio , Turnover rate , P / E ratio ( dynamic ), Market to net ratio \n')
for p in range(total):
a = "*" * p
b = "." * (total -p)
c = (p/total)*100
dur = time.perf_counter() - start
print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end="")
url = 'http://81.push2.eastmoney.com/api/qt/clist/get?cb=jQuery1124017220261478010612_1636785244249&pn='+ str(p) +'&pz='+str(page)+'&po=1&np=1&ut=bd1d9ddb04089700cf9c27f6f7426281&fltt=2&invt=2&fid=f3&fs=m:0+t:6,m:0+t:80,m:1+t:2,m:1+t:23&fields=f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f12,f13,f14,f15,f16,f17,f18,f20,f21,f23,f24,f25,f22,f11,f62,f128,f136,f115,f152&_=1636785244294'
res = getApiRequest(url)
lslist = rinseData(res)
writeCsv(f, lslist)
f.close()
print("\n"+" end of execution ".center(total//2,"-"))
main()
边栏推荐
- Understand kotlin from the perspective of an architect
- mysql拆分字符串做条件查询
- Open3d European clustering
- 【yolov5.yaml解析】
- 调查显示传统数据安全工具在60%情况下无法抵御勒索软件攻击
- Yolov5 target detection neural network -- calculation principle of loss function
- [loss functions of L1, L2 and smooth L1]
- 跨平台(32bit和64bit)的 printf 格式符 %lld 输出64位的解决方式
- pytorch-权重衰退(weight decay)和丢弃法(dropout)
- Yolov 5 Target Detection Neural Network - Loss Function Calculation Principle
猜你喜欢
Intern position selection and simplified career development planning in Internet companies
What is digital existence? Digital transformation starts with digital existence
【SingleShotMultiBoxDetector(SSD,单步多框目标检测)】
【TFLite, ONNX, CoreML, TensorRT Export】
ABAP table lookup program
[upsampling method opencv interpolation]
【L1、L2、smooth L1三类损失函数】
【 YOLOv3中Loss部分计算】
【云原生 | Kubernetes篇】Ingress案例实战(十三)
Splunk configuration 163 mailbox alarm
随机推荐
[pytorch pre training model modification, addition and deletion of specific layers]
【上采样方式-OpenCV插值】
Multi table operation - Auto Association query
Why do you always fail in automated tests?
7月华清学习-1
Pytorch linear regression
1个插件搞定网页中的广告
Automated test lifecycle
一次生产环境redis内存占用居高不下问题排查
Xi IO flow
Simply solve the problem that the node in the redis cluster cannot read data (error) moved
【PyTorch预训练模型修改、增删特定层】
The solution of outputting 64 bits from printf format%lld of cross platform (32bit and 64bit)
Sentinel sentinel mechanism of master automatic election in redis master-slave
Acid transaction theory
Yolov 5 Target Detection Neural Network - Loss Function Calculation Principle
[upsampling method opencv interpolation]
16 channel water lamp experiment based on Proteus (assembly language)
【云原生 | Kubernetes篇】Ingress案例实战(十三)
《增长黑客》阅读笔记