在 PHP 里直接抓取 Google,看上去只是一段五行的 cURL 脚本——直到 IP 被封、CAPTCHA 弹出、选择器失效接踵而来。下面是既便宜又可靠的做法:一次 API 调用,就把 Google 结果以结构化 JSON 返回。
为什么 PHP 里自己动手抓取代价高昂
- IP 封锁——Google 会迅速封锁数据中心 IP,你不得不租用轮换的住宅代理(通常 $3–5/GB)。
- CAPTCHA——由请求量触发;破解既费钱又费时。
- 无头浏览器——Google 越来越依赖 JS 执行;于是你得从 PHP 里跑无头 Chrome。
- 解析器腐化——Google 的 HTML 不断变化,你的 DOMDocument 选择器会悄无声息地失效。
把这些加起来,“免费”抓取在代理、服务器和维护上的花费,反而比一个廉价的 SERP API 更贵。
便宜的做法:一次 HTTP 调用
零依赖——用原生 cURL,POST 一个 JSON 请求体,拿回 JSON:
<?php
$ch = curl_init("https://api.serp.cheap/v1/search");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
"X-API-Key: " . getenv("SERP_CHEAP_API_KEY"),
"Content-Type: application/json",
],
CURLOPT_POSTFIELDS => json_encode([
"q" => "best crm software",
"gl" => "us",
]),
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
foreach ($data["organic"] as $r) {
printf("%d. %s\n %s\n", $r["position"], $r["title"], $r["link"]);
}
这就是整个抓取器。没有代理,没有无头浏览器,也没有需要维护的解析器。
或者使用官方 SDK
composer require serpcheap/serpcheap
$client = new SerpCheap\Client(getenv("SERP_CHEAP_API_KEY"));
$res = $client->search(q: "best crm software", gl: "us");
用 Laravel 开发?composer require serpcheap/laravel 会为你接好门面(facade)和配置。完整讲解见 PHP 教程。
价格如何
| 每次查询价格 | |
|---|---|
| 实时结果 | $0.0006 |
| 缓存结果 | $0.0003 |
| 注册赠送 | 100 次搜索 |
按量付费,$0.75/千次起,积分有效期 12 个月——比单是代理带宽还便宜。在最便宜的 SERP API 盘点中对比各家。
你会用到的参数
下一步
试试 serp.cheap
复制上面的 cURL 片段,填入你的密钥,就能从 PHP 抓取 Google 了。注册即送 100 次免费搜索——无需信用卡;之后按量付费,$0.75/千次起,积分有效期 12 个月。
- 获取你的免费 API 密钥 →
- 更想用信用卡付款?serp.cheap 也上架了 RapidAPI(约 $0.90/千次)和 Apify(约 $1.50/千次)。