Данные JSP для Excel / CSV - PullRequest
       5

Данные JSP для Excel / CSV

0 голосов
/ 07 июля 2019

см. Ссылку ниже https://nseindia.com/ChartApp/install/charts/mainpage.jsp

Эта ссылка в основном отображает данные индекса Nifty ...

Когда вы наводите курсор мыши на любую из этих свечей, она отображает время открытия, максимума, минимума, закрытия, время и объем в это конкретное время. Я предполагаю, что эти данные загружаются где-то на компьютере.

Мне нужны эти данные за все время в одном файле CSV / XLS .... Возможно ли это?

Я новичок в кодировании, поэтому мне нужна ваша помощь.

Попробовал гугл за помощью, но не повезло

1 Ответ

0 голосов
/ 10 июля 2019

"Когда вы наводите курсор мыши на любую из этих свечей, она отображает время открытия, максимума, минимума, закрытия, время и объем в это конкретное время. Я предполагаю, что эти данные загружаются где-то на компьютере . "

"Мне нужны эти данные за все время в одном файле CSV / XLS .... Возможно ли это? "

Возможно, какой-то посторонний запрос может получить доступ к тем же данным. Но это потребует тяжелой работы ...

1) Диаграмма генерируется запросом POST для данных от: GetHistoricalNew.jsp .

2) Ожидается, что запрос будет включать lParams, поэтому ищите var lParams = ""; в исходном коде страницы.

Как видно из исходного кода:
view-source:https://nseindia.com/ChartApp/install/charts/mainpage.jsp

Он создает запрос с этими параметрами с помощью некоторой функции:

var lParams = getCurrentParams();

И требуемая функция getCurrentParams() существует в: selector.jsp .

Каким-то образом он делает запрос к GetHistoricalNew.jsp с такими параметрами, как:
Instrument, Segment, CDExpiryMonth и CDDate1 ... и т. Д.

Пример запроса может выглядеть следующим образом:

https://nseindia.com/ChartApp/install/charts/data/GetHistoricalNew.jsp?Instrument=XXX&Segment=XXX&Series=XXX&CDExpiryMonth=XXX...etc...etc...

Заменить XXX фактическими значениями параметров. Все, что вы можете сделать, это прочитать, а затем снова прочитать исходный код, чтобы понять, как определяются эти значения параметров. Затем попытайтесь сделать запрос структурированным, как мой пример запроса, показанного выше.

Например:

<option value="FUTSTK">FUTSTK</option>
<option value="FUTIDX">FUTIDX</option>
<option value="FUTIVX">FUTIVX</option>

Сообщит вам, что &Instrument= имеет возможные значения: FUTSTK, или FUTIDX, или FUTIVX.

Другой пример: в функции changeFilter, такие вещи, как ...

if(pValue==SEGMENT_CM)...etc code to read...

Сообщит вам, что &Segment= имеет возможные значения:

  • &Segment=SEGMENT_CM
  • &Segment=SEGMENT_FO
  • &Segment=SEGMENT_CD
  • &Segment=SEGMENT_INDEX

В последней строке внизу return lParams; будет указан тип параметров, которые вам нужны в вашем собственном запросе (чтобы получить ту же информацию, которую получает приложение веб-сайта).

function getCurrentParams()
{
    lFrm=document.form1;
    var lParams="";
    var instru = lFrm.Instrument.value;
    lParams+="Instrument="+lFrm.Instrument.value;

    //added by swapnil for FUTIVX instruement type on 20 Jun 2014
    if(lFrm.Segment.value==SEGMENT_INDEX || (lFrm.Segment.value == SEGMENT_FO && (lFrm.Instrument.value == "FUTIVX" || lFrm.Instrument.value == "FUTIDX")))
    { lParams+="&CDSymbol="+escape(lFrm.CDSymbol_Index.value); }
    else 
    { lParams+="&CDSymbol="+escape(lFrm.CDSymbol.value); }

    lParams+="&Segment="+lFrm.Segment.value;
    lParams+="&Series="+lFrm.Series.value;
    lParams+="&CDExpiryMonth="+lFrm.CDExpiryMonth.value;

    //Added by swapnil for FUTIVX instruement type on 23 Jun 2014
    if(lFrm.Instrument.value == "FUTIVX")
    { lParams+="&VIXExpiryMonth="+lFrm.VIXExpiryMonth.value; }
    else
    { lParams+="&FOExpiryMonth="+lFrm.FOExpiryMonth.value; }

    lParams+="&IRFExpiryMonth="+lFrm.IRFExpiryMonth.value;
    lParams+="&CDIntraExpiryMonth="+lFrm.CDIntraExpiryMonth.value;

    if(lFrm.Instrument.value == "FUTIVX")
    {
        //Added by swapnil for FUTIVX instruement type on 20 Jun 2014
        lParams+="&VIXIntraExpiryMonth="+lFrm.VIXIntraExpiryMonth.value;
    }
    else 
    { lParams+="&FOIntraExpiryMonth="+lFrm.FOIntraExpiryMonth.value; }  

    lParams+="&IRFIntraExpiryMonth="+lFrm.IRFIntraExpiryMonth.value;
    lParams+="&CDDate1="+lFrm.date_FromDate.value;
    lParams+="&CDDate2="+lFrm.date_ToDate.value;
    lParams+="&PeriodType="+lFrm.PeriodType.value;
    lParams+="&Periodicity="+lFrm.Periodicity.value;
    setCurrentParamHash(lParams);

    return lParams;

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