jonasva/laravel-google-trends

laravel的Google趋势非官方API

dev-master 2015-04-13 08:22 UTC

This package is auto-updated.

Last update: 2024-09-14 18:58:33 UTC


README

Laravel google trends提供了一个简单的方式来查询Google趋势。它基于这个包:https://github.com/jonasva/google-trends

安装

要获取LaravelGoogleTrends的最新版本,请在您的 composer.json 文件中要求它。

"jonasva/laravel-google-trends": "dev-master"

运行 composer update jonasva/laravel-google-trends 来安装它。

一旦安装了LaravelGoogleTrends,您需要将其服务提供者注册到您的应用程序中。打开 app/config/app.php 并找到 providers 键。

'providers' => array(

    'Jonasva\LaravelGoogleTrends\LaravelGoogleTrendsServiceProvider',

)

还包括一个用于易于访问的Facade。您可以在您的 app/config/app.php 文件的 aliases 键中注册这个Facade。

'aliases' => array(

    'LaravelGoogleTrends' => 'Jonasva\LaravelGoogleTrends\Facades\LaravelGoogleTrends',

)

发布配置

从您的项目的根目录运行此命令行

$ php artisan config:publish jonasva/laravel-google-trends

一个配置文件将被发布到 app/config/packages/jonasva/laravel-google-trends/config.php

配置

Google账户凭证

为了执行Google趋势查询,您需要登录到Google账户。如果您没有登录,您将在几轮请求后遇到请求配额限制。您需要在配置文件中填写您的账户凭证。您还需要设置一个恢复电子邮件,因为Google有时需要它来验证您的登录。

缓存

默认情况下,Google趋势的响应会缓存1天。您可以通过更改 api-call-cache-lifetime 来更改此设置。

您在认证后收到的Google会话也可以缓存(这可以加快速度)。其缓存过期时间可以通过更改 session-cache-lifetime 来更改。

用法

您可以使用此函数执行任何类型的趋势查询

    /*
     * Perform a google trends request
     *
     * @param array $parameters
     * @return \Jonasva\GoogleTrends\GoogleTrendsResponse
     */
    public function performRequest(array $parameters)

$parameters 参数包含查询条件。

示例

    // add search terms (optional for topQueries cid)
    $parameters['terms'] = ['term1', 'term2', 'term3'];

    // set a date range (optional)
    $parameters['dateRange']['start'] = (new \DateTime('2015-01-01'))->format('Y-m-d');
    $parameters['dateRange']['end'] = (new \DateTime())->format('Y-m-d');

    // set a location (optional)
    $parameters['location'] = 'BE';

    // set a category id (optional)
    $parameters['category'] = '0-3';

    // set a cid, there are 3 options:
    $parameters['cid'] = 'graph'; // to return time graph data points and labels
    $parameters['cid'] = 'topQueries'; // to return the top queries
    $parameters['cid'] = 'risingQueries'; // to return rising queries

    $response = LaravelGoogleTrends::performRequest($parameters);

然后可以将响应格式化为更易用的数据格式

    // to get an array of GoogleTrendsTerm objects
    $response->getTermsObjects();

    // to get formatted data suitable for creating a line chart
    // can only be used with $parameters['cid'] = 'graph'
    $response->getFormattedData();

方法

获取给定时间段内1个或多个术语的图表标签和数据点

    /*
     * Get labels and data points for a graph of 1 or more terms for a given period
     *
     * @param \DateTime $startDate
     * @param \DateTime $endDate
     * @param array $terms
     * @param string $location (optional)
     * @param bool $fillEmpties (optional - if true, an array of zeros will be added for terms with no results)
     * @return array
     */
    public function getTermsGraphForPeriod(\DateTime $startDate, \DateTime $endDate, array $terms, $location = null, $fillEmpties = true)