Bri*_*son -1 html php csv yahoo finance
我使用PHP脚本将Yahoo财务报价转换为HTML网页.但是,经过一年的完美工作后,网页突然停止显示数据,并且根本没有代码更改.这是我的代码:
<table>
<tr>
<?php $fp = fopen ("http://finance.yahoo.com/d/quotes.csv?s=VIP&f=l1c1p2rj1&e=.csv","r");
$data = fgetcsv ($fp, 1000, ",") ?>
<td>Vimpel-Communications</td>
<td><?php echo $data[0] ?></td>
<td><?php echo $data[1] ?></td>
<td><?php echo $data[2] ?></td>
<td><?php echo $data[3] ?></td>
<td><?php echo $data[4] ?></td>
<td><?php echo $data[5] ?></td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
这是一个实际网站的测试页面:http://bricadr.com/test.php 任何人都可以帮助或有人知道发生了什么,或者我如何解决这个问题?此外,如果有人有服务器,你能看到这个代码是否适用于您的服务器?也许我的托管公司关闭了一些功能,允许以前工作.
先感谢您!
布赖恩
更新:在我的服务器上测试它.未解析时,HTML中的注释是301重定向的通知.新页面是" http://download.finance.yahoo.com/d/quotes.csv?s=VIP&f=l1c1p2rj1&e=.csv ",只需更改您的网址即可.如果您想使用它,我已经更新了我的下面的代码.
无论如何,这是一个使用cURL的代码的一个有点有效的版本,因为它比fopen 快得多.我也使用了爆炸,因为由于某种原因,cvs功能在我的服务器上不起作用.
$curl=curl_init();
curl_setopt ($curl,CURLOPT_URL,"http://download.finance.yahoo.com/d/quotes.csv?s=VIP&f=l1c1p2rj1&e=.csv");
curl_setopt ($curl,CURLOPT_HEADER,0);
ob_start();
curl_exec ($curl);
curl_close ($curl);
$data=ob_get_clean();
$data=explode(",",$data);
$data=str_replace('"','',$data);
foreach ($data as $results)
echo "<td>$results</td>";
Run Code Online (Sandbox Code Playgroud)
工作在这里.