Google은 페이지당 약 10개의 organic 결과를 반환합니다. 최대 100개를 수집하려면 page 파라미터로 결과를 페이지네이션합니다. serp.cheap로 이를 효율적으로 수행하는 방법은 다음과 같습니다.
기본 사항
page는 1부터 시작합니다 (1= 첫 페이지).- 각 페이지는 약 10개의 organic 결과를 반환합니다.
- 각 페이지는 별도로 과금되는 요청입니다 — 따라서 100개 결과 ≈ 10개 요청입니다.
Python: 최대 100개 결과 수집
import requests
def fetch_results(q, gl="us", max_results=100):
out, page = [], 1
while len(out) < max_results:
r = requests.post(
"https://api.serp.cheap/v1/search",
headers={"X-API-Key": "YOUR_KEY"},
json={"q": q, "gl": gl, "page": page},
timeout=30,
)
r.raise_for_status()
batch = r.json()["organic"]
if not batch:
break # no more results
out += batch
page += 1
return out[:max_results]
results = fetch_results("best project management software")
print(len(results), "results")
Node.js
async function fetchResults(q, max = 100) {
const out = [];
for (let page = 1; out.length < max; page++) {
const res = await fetch("https://api.serp.cheap/v1/search", {
method: "POST",
headers: { "X-API-Key": process.env.SERP_KEY, "Content-Type": "application/json" },
body: JSON.stringify({ q, gl: "us", page }),
});
const { organic } = await res.json();
if (!organic.length) break;
out.push(...organic);
}
return out.slice(0, max);
}
팁
- 페이지를 병합한다면 link로 중복을 제거하세요 — 가끔 겹침이 발생할 수 있습니다.
- 페이지가 결과를 반환하지 않으면 일찍 중단하세요.
- 지연 방식으로 가져오세요 — 10개만 보여준다면 100개 결과를 가져오지 마세요. 비용은 페이지 수에 비례합니다.