我试图通过获取股票报价来访问雅虎网站:
http://de.finance.yahoo.com/d/quotes.csv?s=^DJI&f=nsl1op&e=.csv
它似乎没有下载任何数据。我得到“遗失符号列表。”。奇怪的b / c过去常常起作用了!
<?php
function market_value($s) {
$records= fopen ("http://quote.yahoo.com/d/quotes.csv?s=$s&f=nsl1&e=.csv");
$contents = fread ($records);
fclose ($records);
$data = str_replace ("\"", "", $data);
$data = explode (",", $data);
$trade= $data[2];
return (".$trade.")";
}
答案 0 :(得分:1)
^DJI
。 You should use INDU
。尝试下载
http://finance.yahoo.com/d/quotes.csv?s=INDU,GOOG,MSFT&f=nsl1op&e=.csv
这应该返回类似
的内容"Dow Jones Industr","^DJI",12069.94,12057.34,12058.02
"Google Inc.","GOOG",601.74,600.06,600.76
"Microsoft Corpora","MSFT",26.13,26.10,26.16
答案 1 :(得分:0)
尝试从Googles HTML获取DJI引用
这是.NET C#中的低效示例(不知道php):
public async Task<string> MakeGoogleDJIWebRequest()
{
string response = await _httpClient.GetStringAsync("http://www.google.com/finance?q=DJI");
string [] myString = Regex.Split(response, "<span id=\"ref_983582_l\">");
string [] myString2 = Regex.Split(myString[1], "</span>");
string [] myString3 = Regex.Split(response, "ref_983582_c\">");
string [] plusOrMinus = Regex.Split(myString3[1], "</span>");
string DJI = myString2[0]+ " " + plusOrMinus[0];
return DJI;
}
如果您只想要DJI的值而不是+。/ - 只是不要将上面的plusOrMinus [0]添加到返回字符串中。