0

如果某些术语出现在雅虎首页上的前 10 个“热门话题”列表中,我希望得到通知。我创建了一个小脚本,使用 file_get_contents(' http://www.yahoo.com ');解析首页。然后使用正则表达式将其解析出来。这有效,但它很脆弱。如果他们稍微改变一下html怎么办?

我想以正确的方式做到这一点,并获得与 XML 相同的信息。所以我研究了使用 YQL。我找到了正确的查询:

http://query.yahooapis.com/v1/yql?q=select%20 *%20from%20timesense.trending%20where%20locale%3D'en-US'&diagnostics=true

但是我不太明白如何使用它来提出我的请求,因为我收到了 Oauth 错误。

$request = "http://query.yahooapis.com/v1/yql?q=select%20*%20from%20timesense.trending%20where%20locale%3D'en-US'&diagnostics=true"; 
$session = curl_init($request);
curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
$list = curl_exec($session);
echo $list;

给我这个错误:

请提供有效的凭据。OAuth oauth_problem="OST_OAUTH_PARAMETER_ABSENT_ERROR", realm="yahooapis.com"请提供有效凭据。OAuth oauth_problem="OST_OAUTH_PARAMETER_ABSENT_ERROR", realm="yahooapis.com"

现在我知道我需要创建一个访问密钥/API 密钥。我现在有一个。我只是不知道如何包含它。我看到的所有示例都是针对我将请求用户登录名/密码的社交应用程序。我想要的只是使用 PHP 将这 10 个东西的列表作为 XML。我该怎么做才能得到这个?我的下一步应该是什么?

4

1 回答 1

0

一些 YQL 表需要“双腿”OAuth,基本上意味着请求上的签名。我对这个答案的评论应该有助于解释所需的签名步骤: 如何开始使用 oauth for YQL 获取历史股票数据?

于 2012-07-07T06:23:37.960 回答