jsp - jsp 数据到 excel/CSV
问题描述
请参阅下面的链接 - https://nseindia.com/ChartApp/install/charts/mainpage.jsp
这个链接基本上绘制了漂亮的索引数据......
当您将鼠标悬停在任何这些蜡烛上时,它会显示该特定时间的开盘价、最高价、最低价、收盘价、时间和交易量。我假设这些数据是在计算机的某个地方下载的。
我希望这些数据始终保存在一个 CSV/XLS 文件中……这可能吗?
我是编码方面的菜鸟,因此需要您的帮助。
尝试谷歌寻求帮助,但没有运气
解决方案
“当您将鼠标悬停在任何这些蜡烛上时,它会显示该特定时间的开盘价、最高价、最低价、收盘价、时间和交易量。我假设这些数据是在计算机的某个位置下载的。”
“我希望这些数据一直保存在一个 CSV/XLS 文件中……有可能吗? ”
某些外部请求可能会访问相同的数据。但这需要一些努力...
1) 图表是通过对来自GetHistoricalNew.jsp的数据的 POST 请求生成的。
2) 请求中预计包含lParams
so findvar 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
。
另一个例子:在 function 中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;
}
推荐阅读
- python - 如何在 JupyterLab 1.1.4 版的单元格中包装代码
- java - 使用 REST/JPA 发送可选附加属性的最佳方式是什么?
- python - 在不保存 Django Rest 的情况下发布
- python - Mongoengine 文档在 `switch_collection` 后保存为无字段
- lua - How do you make dance moves in Roblox studio
- c - 正参数的 C 余数/模运算符定义
- c# - 带有列表的实体框架查询
- jquery - 试图在ajax之后切换类
- mongodb - 如何在 MongoDB 中进行搜索查询
- java - How to listen for added nodes in the firebase database