Este post lo he abierto por si me pueden ayudar con un parseador para sacar información de FanPages y Hastags de Twitter.
Lo he probado con curL pero no me devuelve nada, luego me aconsejaron utilizar el servicio que ofrece Twitter para desarrolladores, pero tampoco es lo que busco.
Twiteroauth, con solo especificar el nick o la id del usuario te da todos los datos, hasta las coordenadas de su ubicación https://dev.twitter.com/docs/api/1.1
Para que veías que funciona podéis probar con este código:
Código:
<?php
require 'simple_html_dom.php';
// Create DOM from URL
$html = file_get_html('http://www.segundamano.es/motor-de-segunda-mano-baleares/?ca=7_s&th=1&od=1&fPos=0&fOn=sb_cat');
// Find all article blocks
foreach($html->find('a.subjectTitle') as $noticia)
echo $noticia;
?>
Pero por ejemplo si quiero sacar algo de una tweet:
Código:
<?php
require 'simple_html_dom.php';
// Create DOM from URL
$html = file_get_html('https://twitter.com/besecrets');
// Find all article blocks
foreach($html->find('div.stream-item-header') as $noticia)
echo $noticia;
?>
Este último no me muestra nada... ¿Alguien sabe a que se debe?
/* If access tokens are not available redirect to connect page. */
if (empty($_SESSION['access_token']) || empty($_SESSION['access_token']['oauth_token']) || empty($_SESSION['access_token']['oauth_token_secret'])) {
header('Location: ./clearsessions.php');
}
/* Get user access tokens out of the session. */
$access_token = $_SESSION['access_token'];
/* Create a TwitterOauth object with consumer/user tokens. */
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $access_token['oauth_token'], $access_token['oauth_token_secret']);
/* If method is set change API call made. Test is called by default. */
// $content = $connection->get('account/verify_credentials');
Ademas no se donde meter lo que indican en la pag. de la funcion..
Citar
Resource URL
https://api.twitter.com/1.1/search/tweets.json
Parameters
q
required
A UTF-8, URL-encoded search query of 1,000 characters maximum, including operators. Queries may additionally be limited by complexity.
Example Values: @noradio
Lo que busco es coger el texto de una publicación y insertarla en mi base de datos, para poder llamarla después con PHP.
Espero haberme explicado con claridad, gracias por leerme
para realizar búsquedas en twitter lo mejor es usar su API oficial, olvídate de hacer scrapping en su web.
Te recomiendo usar las clases OAuth y twitteroauth
https://github.com/abraham/twitteroauth/tree/master/twitteroauth
Te dejo dos ejemplos de uso de la API de twitter dónde tendrás que poner tus claves de la API:
- Ejemplo 1 - búsqueda por hashtag
- Ejemplo 2 - tweets de un usuario
https://gist.github.com/miquelcamps/9453527
Sobre el error que te da la API tu mismo has puesto el error, no has indicado el parámetro q de query, aquí tienes la documentación donde se indica que el parámetro es obligatorio
https://dev.twitter.com/docs/api/1.1/get/search/tweets
Este post lo he abierto por si me pueden ayudar con un parseador para sacar información de FanPages y Hastags de Twitter.
Lo he probado con curL pero no me devuelve nada, luego me aconsejaron utilizar el servicio que ofrece Twitter para desarrolladores, pero tampoco es lo que busco.
Twiteroauth, con solo especificar el nick o la id del usuario te da todos los datos, hasta las coordenadas de su ubicación https://dev.twitter.com/docs/api/1.1
Para que veías que funciona podéis probar con este código:
Código:
<?php
require 'simple_html_dom.php';
// Create DOM from URL
$html = file_get_html('http://www.segundamano.es/motor-de-segunda-mano-baleares/?ca=7_s&th=1&od=1&fPos=0&fOn=sb_cat');
// Find all article blocks
foreach($html->find('a.subjectTitle') as $noticia)
echo $noticia;
?>
Pero por ejemplo si quiero sacar algo de una tweet:
Código:
<?php
require 'simple_html_dom.php';
// Create DOM from URL
$html = file_get_html('https://twitter.com/besecrets');
// Find all article blocks
foreach($html->find('div.stream-item-header') as $noticia)
echo $noticia;
?>
Este último no me muestra nada... ¿Alguien sabe a que se debe?
Con Twitter probe lo siguiente:
Código:
/* Load required lib files. */
session_start();
require_once('twitteroauth/twitteroauth.php');
require_once('config.php');
/* If access tokens are not available redirect to connect page. */
if (empty($_SESSION['access_token']) || empty($_SESSION['access_token']['oauth_token']) || empty($_SESSION['access_token']['oauth_token_secret'])) {
header('Location: ./clearsessions.php');
}
/* Get user access tokens out of the session. */
$access_token = $_SESSION['access_token'];
/* Create a TwitterOauth object with consumer/user tokens. */
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $access_token['oauth_token'], $access_token['oauth_token_secret']);
/* If method is set change API call made. Test is called by default. */
// $content = $connection->get('account/verify_credentials');
/* Some example calls */
$content = $connection->get('search/tweets', array(' [created_at]' => 'Thu Mar 06 14:46:34 +0000 2014'));
//$connection->post('statuses/update', array('status' => date(DATE_RFC822)));
//$connection->post('statuses/destroy', array('id' => 5437877770));
//$connection->post('friendships/create', array('id' => 9436992));
//$connection->post('friendships/destroy', array('id' => 9436992));
/* Include HTML to display on the page */
include('html.inc');
?>
Y me devuelve:
stdClass Object
(
[errors] => Array
(
=> stdClass Object
(
[*code] => 25
[message] => Query parameters are missing.
)
)
)
Ademas no se donde meter lo que indican en la pag. de la funcion..
Citar
Resource URL
https://api.twitter.com/1.1/search/tweets.json
Parameters
q
required
A UTF-8, URL-encoded search query of 1,000 characters maximum, including operators. Queries may additionally be limited by complexity.
Example Values: @noradio
Lo que busco es coger el texto de una publicación y insertarla en mi base de datos, para poder llamarla después con PHP.
Espero haberme explicado con claridad, gracias por leerme
09/03/2014 20:57
para realizar búsquedas en twitter lo mejor es usar su API oficial, olvídate de hacer scrapping en su web.
Te recomiendo usar las clases OAuth y twitteroauth
https://github.com/abraham/twitteroauth/tree/master/twitteroauth
Te dejo dos ejemplos de uso de la API de twitter dónde tendrás que poner tus claves de la API:
- Ejemplo 1 - búsqueda por hashtag
- Ejemplo 2 - tweets de un usuario
https://gist.github.com/miquelcamps/9453527
Sobre el error que te da la API tu mismo has puesto el error, no has indicado el parámetro q de query, aquí tienes la documentación donde se indica que el parámetro es obligatorio
https://dev.twitter.com/docs/api/1.1/get/search/tweets
espero que te ayude, saludos!