gpt4 book ai didi

yql - yahoo.finance 相关数据api 的变化(YQL 控制台)吗?

转载 作者:行者123 更新时间:2023-12-04 16:07:27 26 4
gpt4 key购买 nike

我正在尝试将 yql 用于雅虎财务数据。我检查了 YQL 控制台上的 Show Community Table 以查看 Yahoo 标签下的数据库。
我可以看到它下面的表格,但我没有得到结果
如下::

select * from yahoo.finance.analystestimate where symbol in ('YHOO')


    {
"query": {
"count": 1,
"created": "2016-03-28T10:25:01Z",
"lang": "en-US",
"diagnostics": {
"url": [
{
"execution-start-time": "1",
"execution-stop-time": "767",
"execution-time": "766",
"content": "http://www.datatables.org/yahoo/finance/yahoo.finance.analystestimate.xml"
},
{
"execution-start-time": "771",
"execution-stop-time": "1821",
"execution-time": "1050",
"content": "http://finance.yahoo.com/q/ae?s=YHOO"
}
],
"publiclyCallable": "true",
"javascript": {
"execution-start-time": "769",
"execution-stop-time": "1823",
"execution-time": "1054",
"instructions-used": "5139",
"table-name": "yahoo.finance.analystestimate"
},
"user-time": "1824",
"service-time": "1806",
"build-version": "0.2.842"
},
"results": {
"results": {
"symbol": "YHOO"
}
}
}
}

这里的结果显示为空..
有什么改变了吗?我怎样才能知道发生了什么?

我可以使用替代解决方案来获取这些数据吗?

最佳答案

开发人员用来创建我们不再工作的表的 JS。这是部分格式化的。你可以看到他正在抓取页面,然后屏幕抓取它。

function getelement(row) {
if (row.hasOwnProperty("p")) return (row.p.text());
return (row.font.text());
} // Setup Query from finance.yahoo.com
var url = "http://finance.yahoo.com/q/ae?s=" + symbol;
var restquery = y.rest(url);
var rawresult = restquery.accept("text/html").get().response;
var aequery = y.xpath(rawresult, "//table[@class='yfnc_tableout1']/tr[count(td)=0]/parent::*|" + "//table[@class='yfnc_tableout1']/tr/td/table");
// Process Results
var aedata = < results symbol = {
symbol
} > < /results>; var i = 0; while(i < aequery.length()) { var table = aequery[i]; var thead = table.tr[0]; var tname = thead.th[0].strong.text().toString().replace(/ / g,
"");
var fname1 = thead.th[1].p.text().toString().replace(/\n.*/, "");
var fname2 = thead.th[2].p.text().toString().replace(/\n.*/, "");
var fname3 = thead.th[3].p.text().toString().replace(/\n.*/, "");
var fname4 = thead.th[4].p.text().toString().replace(/\n.*/, "");
fname1 = fname1.replace(/[\s\.]+/g, "").replace(/\&/, "");
fname2 = fname2.replace(/[\s\.]+/g, "").replace(/\&/, "");
fname3 = fname3.replace(/[\s\.]+/g, "").replace(/\&/, "");
fname4 = fname4.replace(/[\s\.]+/g, "").replace(/\&/, "");
var tblval = < {
tname
} > < /{tname}>; var j = 1; while(j < table.tr.length()) { var row = table.tr[j].td; var rname = row[0].p.text().toString().replace(/ [\s\.] + /g, ""); rname = rname.replace(/\ (.*\) / g,
"").replace(/\%/, "").replace(/^(\d)/, "_$1");
rname = rname.replace(/\//, "");
var rval1 = getelement(row[1]);
var rval2 = getelement(row[2]);
var rval3 = getelement(row[3]);
var rval4 = getelement(row[4]);
tblval.appendChild( < {
rname
} > < {
fname1
} > {
rval1
} < /{fname1}> <{fname2}>{rval2}</ {
fname2
} > < {
fname3
} > {
rval3
} < /{fname3}> <{fname4}>{rval4}</ {
fname4
} > < /{rname}>); j = j + 1; } aedata.appendChild(tblval); i = i + 1; }
// Return aedata strucuture
response.object = aedata;

关于yql - yahoo.finance 相关数据api 的变化(YQL 控制台)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36260484/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com