从占星网站解析信息

时间:2013-04-09 18:55:52

标签: php javascript html

我已经编写了来自dailyhoroscopes.com网站的占星术代码:

<?php
include('../simple_html_dom.php');

// get DOM from URL or file
$html = file_get_html('http://www.dailyhoroscope.com/?date=yesterday');

$needle = 'var ar_interps = ';
$needle_end = 'var ar_interps_love = ';

foreach($html->find('script') as $e)       
    if (strpos($e->innertext, $needle) !== false) {
        $json = substr($e->innertext, strpos($e->innertext, $needle));        
        $json = substr($json, 0, strpos($json, $needle_end));
        $json = str_replace($needle, '', $json);
        $json = str_replace(';  ', '', $json);
        echo '<pre>';
        var_dump(json_decode($json, true));
        echo '</pre>';
        }
?>

仅使用html和javascript进行相同操作的最佳方法是什么?

2 个答案:

答案 0 :(得分:0)

没有办法:此服务器不支持CORS。对于跨源资源共享,请参阅维基百科文章。 http://en.wikipedia.org/wiki/Cross-origin_resource_sharing

答案 1 :(得分:0)

你做不到。跨域访问策略不允许网页访问从其他来源加载的内容。在这种情况下,除非您的网页也在该网域上,否则您无法从dailyhoroscope.com加载数据。

此外,在未经他们许可的情况下重复使用他们的内容可能会构成侵犯版权的行为,即使它不是非法的,也可能是一种蠢事,因为它最终会在他们的服务器上产生负载。不要这样做。