Уведомления

Группа в Telegram: присоединиться

#1 Май 5, 2020 21:28:13

MQLab
Зарегистрирован: 2020-05-05
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Скачать котировки finam.ru

Рабочий код

 #!/usr/bin/python3
from urllib.parse import urlencode
from urllib.request import urlopen
from datetime import datetime
periods={'tick':1, 'min':2, '5min':3, '10min':4, '15min':5, '30min':6, 'hour':7, 'daily':8, 'week':9, 'month':10}
tickers={'ABRD':82460,'AESL':181867,'AFKS':19715,'AFLT':29}
# Здесь вызов функции
def printme( str ):
   "Это печатает переданную строку в эту функцию"
   period=7
   start = "01.01.2014"
   end = "30.04.2020"
   FINAM_URL = "http://export.finam.ru/"
   market = 0
   start_date = datetime.strptime(start, "%d.%m.%Y").date()
   start_date_rev=datetime.strptime(start, '%d.%m.%Y').strftime('%Y%m%d')
   end_date = datetime.strptime(end, "%d.%m.%Y").date()
   end_date_rev=datetime.strptime(end, '%d.%m.%Y').strftime('%Y%m%d')
   params = urlencode([('market', market),('em', tickers[str]),('code', str),('apply',0),('df', start_date.day),('mf', start_date.month - 1),('yf', start_date.year),('from', start_date),('dt', end_date.day),('mt', end_date.month - 1),('yt', end_date.year),('to', end_date),('p', period),('f', str+"_" + start_date_rev + "_" + end_date_rev),('e', ".csv"),('cn', str),('dtf', 1),('tmf', 1),('MSOR', 1),('mstime', "on"),('mstimever', 1),('sep', 3),('sep2', 1),('datf', 1),('at', 1),('fsp', 1)])
   url = FINAM_URL + str+"_" + start_date_rev + "_" + end_date_rev + ".csv?" + params #урл составлен!
   txt=urlopen(url).readlines() #здесь лежит огромный массив данных, прилетевший с Финама.
   local_file = open(str+'.txt', "w") #задаём файл, в который запишем котировки.
   for line in txt: local_file.write(line.strip().decode( "utf-8" )+'\n')
   local_file.close()
   print("Готово. Проверьте файл "+str+".txt в папке где лежит скрипт")
   return
# Теперь вы можете вызвать функцию printme
tickers_list = ['ABRD', 'AESL', 'AFKS', 'AFLT'];
for word in tickers_list: printme(word);

Отредактировано MQLab (Май 5, 2020 21:28:47)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version