2009-08-21 4 views

Répondre

0

 
<?php

$curl = curl_init(); 
curl_setopt_array($curl, Array(
    /* CURLOPT_HEADER   => true, 
    CURLOPT_POSTFIELDS  => $postdata, 
    CURLOPT_POST   => $method == 'POST', 
    CURLOPT_HTTPHEADER  => $headers, 
    CURLOPT_USERAGENT  => "Mozil.....", */ 
    CURLOPT_URL   => "http://search.twitter.com/trends.json", 
    CURLOPT_TIMEOUT  => 300, 
    CURLOPT_CONNECTTIMEOUT => 60, 
    CURLOPT_RETURNTRANSFER => true, 
    CURLOPT_SSL_VERIFYHOST => false, 
    CURLOPT_SSL_VERIFYPEER => false, 
    CURLOPT_ENCODING  => 'gzip,deflate' 
)); 
$json = curl_exec($curl); 
$json = json_decode($json); 
echo "<pre>"; 
print_r($json); 

?>

Amusez-vous.

2

Voici quelques conseils qui pourraient vous aider:


Pour utiliser curl: vous devrez initialize une connexion, configure, et execute il.

Par exemple, quelque chose comme ça pourrait faire (exemple très basique):

$ch = curl_init(); 

curl_setopt($ch, CURLOPT_URL, "http://search.twitter.com/trends.json"); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 

$json = curl_exec($ch); 

curl_close($ch); 

// $json contains the data you want 
var_dump($json); 

Vous obtiendrez ce genre de sortie:

string '{"as_of":"Fri, 21 Aug 2009 20:59:54 +0000","trends":[{"name":"Follow Friday","url":"http:\/\/search.twitter.com\/search?q=%22Follow+Friday%22"},{"name":"#BrutalLegend","url":"http:\/\/search.twitter.com\/search?q=%23BrutalLegend"},{"name":"#shoutout","url":"http:\/\/search.twitter.com\/search?q=%23shoutout"},{"name":"#fact","url":"http:\/\/search.twitter.com\/search?q=%23fact"},{"name":"Inglourious","url":"http:\/\/search.twitter.com\/search?q=Inglourious"},{"name":"Which Horror Movie","url":"http:\/\/search.twitter.com\/search?q=%22Which+Horror+Movie%22"},{"name":"Cataclysm","url":"http:\/\/search.twitter.com\/search?q=Cataclysm"},{"name":"Inglourious Basterds","url":"http:\/\/search.twitter.com\/search?q=%22Inglourious+Basterds%22+OR+%22Inglorious+Basterds%22"},{"name":"District 9","url":"http:\/\/search.twitter.com\/search?q=%22District+9%22"},{"name":"Twitter Besides","url":"http:\/\/search.twitter.com\/search?q=%22Twitter+Besides%22"}]}' (length=955) 

Bien sûr, vous pouvez définir quelques autres options; pour la liste complète, jetez un oeil à la documentation de curl_setopt.


Parsing la chaîne JSON:

à condition que vous utilisez PHP> = 5.2, vous pouvez utiliser json_decode pour analyser les données JSON:

$data = json_decode($json); 

var_dump($data); 

Vous obtiendrez alors quelque chose comme ça :

object(stdClass)[1] 
    public 'as_of' => string 'Fri, 21 Aug 2009 21:01:48 +0000' (length=31) 
    public 'trends' => 
    array 
     0 => 
     object(stdClass)[2] 
      public 'name' => string 'Follow Friday' (length=13) 
      public 'url' => string 'http://search.twitter.com/search?q=%22Follow+Friday%22' (length=54) 
     1 => 
     object(stdClass)[3] 
      public 'name' => string '#BrutalLegend' (length=13) 
      public 'url' => string 'http://search.twitter.com/search?q=%23BrutalLegend' (length=50) 
     2 => 
     object(stdClass)[4] 
      public 'name' => string '#shoutout' (length=9) 
      public 'url' => string 'http://search.twitter.com/search?q=%23shoutout' (length=46) 
     3 => 
     object(stdClass)[5] 
      public 'name' => string '#fact' (length=5) 
      public 'url' => string 'http://search.twitter.com/search?q=%23fact' (length=42) 
     4 => 
     object(stdClass)[6] 
      public 'name' => string 'Inglourious' (length=11) 
      public 'url' => string 'http://search.twitter.com/search?q=Inglourious' (length=46) 
     5 => 
     object(stdClass)[7] 
      public 'name' => string 'Cataclysm' (length=9) 
      public 'url' => string 'http://search.twitter.com/search?q=Cataclysm' (length=44) 
     6 => 
     object(stdClass)[8] 
      public 'name' => string 'Which Horror Movie' (length=18) 
      public 'url' => string 'http://search.twitter.com/search?q=%22Which+Horror+Movie%22' (length=59) 
     7 => 
     object(stdClass)[9] 
      public 'name' => string 'Inglourious Basterds' (length=20) 
      public 'url' => string 'http://search.twitter.com/search?q=%22Inglourious+Basterds%22+OR+%22Inglorious+Basterds%22' (length=90) 
     8 => 
     object(stdClass)[10] 
      public 'name' => string 'District 9' (length=10) 
      public 'url' => string 'http://search.twitter.com/search?q=%22District+9%22' (length=51) 
     9 => 
     object(stdClass)[11] 
      public 'name' => string 'Hurricane Bill' (length=14) 
      public 'url' => string 'http://search.twitter.com/search?q=%22Hurricane+Bill%22' (length=55) 

Ceci contient l'ensemble des données obtenues à partir de twitter.


Insertion des données dans la base de données:

Maintenant, vous devez itérer sur ce tableau des « tendances », et, pour chaque ligne, insérez-le dans votre base de données MySQL.

Pour cela, vous pouvez utiliser:

Utilisation d'instructions préparées pourrait aider aussi (mysqli, pdo) ;-)
Si vous êtes ne pas utiliser les instructions préparées, de toute façon, vous devez chose à propos de l'échappement de vos données, en utilisant soit mysqli_real_escape_string ou PDO::quote.

Ici, vous devrez bien sûr déjà avoir une table, avec la bonne structure; Je suppose aussi que vous savez comment insérer des données dans une table MySQL.


Si vous avez des questions plus spécifiques, ne hésitez pas à demander, avec quelques exemples de code que vous utilisez ne fonctionne pas (et une description de ce qui ne fonctionne pas/le message d'erreur que vous êtes obtenir, bien sûr)!


Amusez-vous!

Questions connexes