Швидко отримуйте реальні дані пошуку з Google, Amazon та інших платформ безпосередньо у вашому додатку за допомогою SerpAPI. SerpAPI допомагає розробникам отримувати результати пошуку з пошукових систем за допомогою простого API.
Ось що ви можете робити з SerpAPI:
За допомогою HTTP-клієнта Laravel, який ми навели нижче, ви зможете швидко шукати в Google та отримувати структуровані JSON-результати для багатьох пошукових сервісів, що пропонуються Google, Bing, Walmart та іншими:
use App\Facades\SerpApi;
SerpApi::search('кава', ['location' => 'Фінікс, AZ']);
// Пошук у Bing
SerpApi::search('кава', ['location' => 'Фінікс, AZ', 'engine' => 'bing']);
// Новини Google
SerpApi::search('Laravel', ['location' => 'Фінікс, AZ', 'engine' => 'google_news']);
Результати повертають метадані пошуку, локальні карти, результати органічного пошуку, пов'язані запити та все, що ви могли б побачити на екрані під час виконання пошуку. Документація містить детальні приклади параметрів та їх відповідність до сторінки пошуку за допомогою ілюстрацій у розділі прикладів API.
Ось простий сервіс, який ви можете використовувати у вашому Laravel-додатку для початку роботи з SerpAPI:
<?php
namespace App;
use Illuminate\Container\Attributes\Config;
use Illuminate\Http\Client\PendingRequest;
use Illuminate\Support\Facades\Http;
class SerpApi
{
public function __construct(
#[Config('services.serpapi.api_key')]
#[\SensitiveParameter]
private string $apiKey
) {}
public function search(string $query, array $options = []): array
{
$params = collect($options)->merge(['q' => $query])->filter()->toArray();
return $this->client()
->withQueryParameters($params)->asJson()
->get('/search')->json();
}
public function client(): PendingRequest
{
return Http::withQueryParameters([
'api_key' => $this->apiKey,
])->baseUrl('https://serpapi.com/');
}
}
Далі, зареєструйтесь на SerpAPI та налаштуйте свій API-ключ у services.serpapi.api_key файлі config/services.php:
SERPAPI_API_KEY="<ваш ключ>"
Використовуючи сервіс та API-ключ, ви можете отримати цей сервіс з контейнера та визначити його як сервіс у контейнері, якщо потрібно. Скориставшись атрибутом конфігурації Laravel, ви автоматично будете використовувати визначений API-ключ:
$api = app(\App\SerpApi::class);
$api->search('кава', ['location' => 'Фінікс, AZ']);
Якщо ви хочете використовувати сервіс у вигляді фасаду, створіть SerpApi.php у директорії app/Facades:
<?php
namespace App\Facades;
use Illuminate\Support\Facades\Facade;
class SerpApi extends Facade
{
protected static function getFacadeAccessor()
{
return \App\SerpApi::class;
}
}
Почніть будувати з реальними даними пошуку вже сьогодні — це простіше, ніж ви думаєте