Получайте живые данные о запасах всех символов nse в Python / Django - PullRequest
0 голосов
/ 29 мая 2020

Я работаю над проектом прогнозирования запасов. Вот как я хочу:

Чтобы показать все акции, доступные в Nifty50, Nifty100 или около того, а затем пользователь выберет акции, чтобы предсказать максимальную и минимальную цену акции только на следующий день.

Я использую Django.

То, что я делал до сих пор: Я могу отобразить список акций.

def index(request):
    api_key = 'myAPI_Key'

    url50 = 'https://archives.nseindia.com/content/indices/ind_nifty50list.csv'
    url100 = 'https://archives.nseindia.com/content/indices/ind_nifty100list.csv'
    url200 = 'https://archives.nseindia.com/content/indices/ind_nifty200list.csv'

    sfifty = requests.get(url50).content
    shundred = requests.get(url100).content
    stwohundred = requests.get(url200).content

    nifty50 = pd.read_csv(io.StringIO(sfifty.decode('utf-8')))
    nifty100 = pd.read_csv(io.StringIO(shundred.decode('utf-8')))
    nifty200 = pd.read_csv(io.StringIO(stwohundred.decode('utf-8')))

    nifty50 = nifty50['Symbol']
    nifty100 = nifty100['Symbol']
    nifty200 = nifty200['Symbol']



    context = {
        'fifty': nifty50,
        'hundred': nifty100,
        'twohundred': nifty200
               }

    return render(request, 'StockPrediction/index.html', context)

Что я хочу: Я хочу получить текущие данные по всем акциям open, high, LTP, Change, Volume. Суть живых данных в том, что они будут меняться в соответствии с стоимость акций изменится.

Пожалуйста, помогите!

1 Ответ

0 голосов
/ 29 мая 2020

Вы должны комбинировать Ajax/Jquery как приведенный ниже код, чтобы периодически получать данные и обновлять значения в DOM:

(function getStocks() {
    $.ajax({
            type: "GET",
            url: "url to your view",
            success: function (data) {
                // here you can get data from backend and do changes like
                // changing color by the data coming from your view.
            }
        }).then(function() {           // on completion, restart
       setTimeout(getStocks, 30000);  // function refers to itself
    });
})();

Но будьте осторожны, делая слишком много запросов, вы должны выбрать правильный интервал прямо в этой строке setTimeout(getStocks, "proper interval");

И в вашем view вы должны помещать запросы в формат JSON примерно так:

return JsonResponse({'stocks': stocks})

здесь stocks должен быть в формате json.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...