使用cURL检索用于jQuery的JSON数据

时间:2016-03-20 00:24:22

标签: php jquery html json curl

我一直在阅读这篇有用的帖子: http://techslides.com/hacking-the-google-trends-api

它显示了如何在命令行/终端中使用cURL来请求来自谷歌趋势的数据,例如;

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

给你一个我认为是JSON的大块。下面是我在PHP中使用cURL来获取这样的数据的一个示例 - 但是我找不到任何可以使上述cURL命令中的数据在PHP中工作的内容,如下所示。

<?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);
    ?>

如何从上方获取数据?

2 个答案:

答案 0 :(得分:2)

您可以对PHP cURL扩展名执行相同的操作。您只需要通过curl_setopt设置选项,这样就可以执行此类操作

$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);

现在您已经在$data获得了该网站的回复,您可以随意使用它。

您可以在http://php.net/curl

上找到PHP cURL文档

答案 1 :(得分:1)

试试这个

// 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));