我一直在阅读这篇有用的帖子: 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);
?>
如何从上方获取数据?
答案 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
获得了该网站的回复,您可以随意使用它。
答案 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));