Uso de PHP/YQL para extraer datos de la página principal de Yahoo

Quiero recibir una notificación si ciertos términos aparecen en la lista de los 10 "temas de moda" principales de Yahoo en su página principal. Creé un pequeño script que analiza la página principal usando file_get_contents('http://www.yahoo.com'); y luego usa expresiones regulares para analizarlo. Esto funciona, pero es frágil. ¿Qué pasa si cambian un poco el html?

Me gustaría hacer esto de la manera correcta y obtener esta misma información como XML. Así que investigué sobre el uso de YQL. He encontrado la consulta correcta:

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

Pero no entiendo muy bien cómo usar esto para hacer mi solicitud porque recibo un error de 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;

me da este error:

Proporcione credenciales válidas. OAuth oauth_problem="OST_OAUTH_PARAMETER_ABSENT_ERROR", realm="yahooapis.com"Proporcione credenciales válidas. OAuth oauth_problem="OST_OAUTH_PARAMETER_ABSENT_ERROR", reino="yahooapis.com"

Ahora sé que necesito crear una clave de acceso/clave API. Tengo uno ahora. Simplemente no sé cómo incluirlo. Todos los ejemplos que veo son para aplicaciones sociales donde estaría solicitando el nombre de usuario/contraseña de un usuario. Todo lo que quiero es usar PHP para obtener esta lista de 10 cosas como XML. ¿Qué puedo hacer para conseguir esto? ¿Cuál debería ser mi siguiente paso?

preguntado el 12 de junio de 12 a las 21:06

1 Respuestas

Algunas de las tablas YQL requieren OAuth de "dos patas", lo que básicamente significa una firma en la solicitud. Mis comentarios sobre esta respuesta deberían ayudar a explicar los pasos de firma necesarios: ¿Cómo empiezo con oauth para YQL para datos históricos de acciones?

contestado el 23 de mayo de 17 a las 13:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.