| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 | <?php/** * 谷歌趋势api * @copyright 2021-浙江引擎力营销策划有限公司 * @author Lc<sunshinecc1@163.com> * @since 2021-08-23 */namespace App\Http\Controllers\Wap\GoogleTrendsApi;use App\Http\Controllers\Controller;use Google\GTrends;use Illuminate\Http\Request;class GoogleTrendsApiController extends Controller{    public function getKeyWordResult(Request $request)    {        try {            $gt = new GTrends([                'hl' => 'zh-CN',                'tz' => -480, # last hour                'geo' => '',            ]);            $keyWold = $request->input('keyWold');            if (empty($keyWold)) {                return response()->json([                    'status' => 500,                    'message' => 'error',                    'data' => [],                ]);            }            $relatedInformation = $gt->getRelatedSearchQueries([$keyWold]);            $relatedInformation = $relatedInformation[$keyWold]['default']['rankedList'][0]['rankedKeyword'] ?? [];            if (!empty($relatedInformation)) {                foreach ($relatedInformation as $key => $value) {                    if ($key > 4) {                        unset($relatedInformation[$key]);                    }                }            }            $cache['relatedInformation'] = $relatedInformation;            $relatedTopic = $gt->getRelatedTopics($keyWold);            $relatedTopic = $relatedTopic['default']['rankedList'][0]['rankedKeyword'] ?? [];            if (!empty($relatedTopic)) {                foreach ($relatedTopic as $key => $value) {                    if ($key > 4) {                        unset($relatedTopic[$key]);                    }                }            }            $cache['relatedTopic'] = $relatedTopic;            $interestOverTime = $gt->interestOverTime($keyWold, 0, 'today 5-y') ?? [];            $dateList = [];            if (!empty($interestOverTime)) {                foreach ($interestOverTime as $item) {                    $dateList['date'][] = $item['formattedAxisTime'];                    $dateList['value'][] = $item['value'][0];                }            }            $cache['dateList'] = $dateList;            $interestByCountry = $gt->interestByCountry([$keyWold], 0, 'today 5-y') ?? [];            $countryList = [];            if (!empty($interestByCountry)) {                foreach ($interestByCountry[$keyWold] as $item) {                    $countryList[] = [                        'name' => $item['geoName'] ?? '',                        'value' => $item['value'][0] ?? 0,                    ];                }            }            $cache['countryList'] = $countryList;            return response()->json([                'status' => 200,                'message' => 'success',                'data' => $cache,            ]);        } catch (\Exception $e) {            return response()->json([                'status' => 500,                'message' => 'error',                'data' => $e->getMessage(),            ]);        }    }}
 |