2016-03-20 4 views
1

Ich habe gelesen, diesen hilfreichen Beitrag abrufen: http://techslides.com/hacking-the-google-trends-apicURL zu JSON-Daten für die Verwendung mit jQuery

Es zeigt, wie Sie cURL in der Befehlszeile verwenden können/Terminal anfordern Daten von Google Trends, zum Beispiel;

curl --data "ajax=1&cid=actors&geo=US&date=201310" http://www.google.com/trends/topcharts/trendingchart 

Gibt Ihnen einen großen Block von dem, was ich denke, ist JSON. Unten ist ein Beispiel von dem, was ich tue, um cURL innerhalb meines PHP zu verwenden, um Daten wie dieses zu erhalten- jedoch kann ich nichts finden, das die Daten vom obigen cURL Befehl erhalten würde, um in PHP wie unten zu arbeiten.

<?php 
    //initialize session 
    $url = "http://www.google.com/trends/hottrends/atom/feed?pn=p1"; 
    $ch = curl_init(); 
    //set options 
    curl_setopt($ch, CURLOPT_URL, $url); 
    //execute session 
    $data = curl_exec($ch); 
    echo $data; 
    //close session 
    curl_close($ch); 
    ?> 

Wie gehe ich vor, um die Daten von oben zu bekommen?

+0

Nun finden, was Sie bekommen, ist ein RSS-Feed. –

+0

Mit dem zweiten Beispiel ja - aber mit dem ersten benutze ich cURL, um JSON aber im Terminal zu bekommen. Ich habe mich gefragt, ob es eine Möglichkeit gibt, das in PHP zu tun, wie ich es im zweiten Beispiel getan habe. – jmcgrory

Antwort

2

Sie können das gleiche mit der PHP cURL-Erweiterung tun. Sie müssen nur die Optionen durch curl_setopt, so einzustellen, dass Sie so etwas wie dieses

$url = "http://www.google.com/trends/topcharts/trendingchart"; 
$fields = "ajax=1&cid=actors&geo=US&date=201310"; 

$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$data = curl_exec($ch); 
curl_close($ch); 

Jetzt würden Sie die Antwort der Website in $data und Sie können damit machen, was Sie wollen.

Sie die PHP-cURL Dokumentation auf http://php.net/curl

+0

Danke, ich benutze um dies jetzt als Variable in jQuery zu verwenden – jmcgrory

1

Versuchen Sie, diese

// Complete url with paramters 
$url = "http://www.google.com/trends/topcharts/trendingchart?ajax=1&cid=actors&geo=US&date=201310"; 

// Init session 
$ch = curl_init(); 

// Set options 
curl_setopt($ch, CURLOPT_URL, $url); 

// Set option to return the result instead of echoing it 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

// Execute session 
$data = curl_exec($ch); 

// Close session 
curl_close($ch); 

// Dump json decoded result 
var_dump(json_decode($data, true)); 
+0

Vielen Dank für Ihre Hilfe – jmcgrory

Verwandte Themen