Trả lời nhanh
Làm thế nào để lấy kết quả tìm kiếm Google cho một quốc gia và thành phố cụ thể qua SERP API?
Với SerpCrypto, đặt gl thành mã quốc gia, hl thành ngôn ngữ và location thành tên thành phố viết bằng City, Region, Country, ví dụ Austin, Texas, United States. Thêm device=mobile nếu muốn kết quả về điện thoại. Mỗi tổ hợp là một lượt tìm kiếm với giá 1 credit, từ 0,30 US$/1K lượt tìm kiếm, và phản hồi sẽ lặp lại các thiết lập đã áp dụng. Thanh toán bằng crypto, không cần KYC.
Mỗi tham số vị trí có tác dụng gì?
Quốc gia (gl), ngôn ngữ (hl), tên miền Google và chuỗi vị trí cấp thành phố, trên desktop hoặc mobile.
| Tham số | Mặc định | Tác dụng |
|---|---|---|
gl | us | Quốc gia của kết quả. Hai chữ cái, ISO 3166-1, viết thường. Dùng gb cho United Kingdom. |
hl | en | Ngôn ngữ của giao diện: nhãn, People Also Ask và một số đoạn trích theo ngôn ngữ này. |
location | không có | Một địa điểm cụ thể trong quốc gia, dùng cho local pack và xếp hạng cấp thành phố. |
google_domain | tên miền của gl | Tên miền Google nào chạy lượt tìm kiếm, ví dụ google.de. Bị bỏ qua với Bing. |
device | desktop | desktop hoặc mobile: bố cục và các khối địa phương khác nhau giữa hai giá trị này. |
Sự khác biệt giữa gl, hl và location là gì?
gl cho biết bạn muốn kết quả của quốc gia nào. hl cho biết người dùng đọc ngôn ngữ nào, điều này thay đổi giao diện và thường thay đổi cả câu hỏi lẫn đoạn trích. location thu hẹp quốc gia xuống một thành phố hoặc vùng, điều này quan trọng ngay khi truy vấn có ý định địa phương.
Chúng kết hợp tự do với nhau. Một người nói tiếng Pháp ở Thụy Sĩ là gl=ch, hl=fr. Một lượt tìm kiếm bằng tiếng Anh từ Berlin là gl=de, hl=en, location=Berlin, Berlin, Germany. Giữ gl và quốc gia của location trùng nhau: một thành phố ở quốc gia này với gl của quốc gia khác sẽ cho kết quả mà không người truy cập thật nào thấy.
Làm thế nào để nhắm mục tiêu tới một thành phố?
Viết địa điểm bằng tiếng Anh, từ đơn vị nhỏ nhất đến lớn nhất: City, Region, Country. Ví dụ: Austin, Texas, United States, Manchester, England, United Kingdom, Munich, Bavaria, Germany, Lyon, Auvergne-Rhone-Alpes, France. Dùng tên thành phố, không dùng tên đường hay mã bưu chính.
Kiểm tra search_parameters.location trong phản hồi: nó hiển thị địa điểm đã được áp dụng. Giá trị không dùng được sẽ trả về 400 invalid_parameter và không tốn credit, nên bạn có thể thử danh sách địa điểm với chi phí thấp.
# The same query from two cities: compare the local packs
for city in "Austin, Texas, United States" "Denver, Colorado, United States"; do
curl -sG "https://serpcrypto.com/api/v1/search" \
-H "Authorization: Bearer $SERPCRYPTO_API_KEY" \
--data-urlencode "q=emergency plumber" \
--data-urlencode "location=$city" \
-d gl=us -d hl=en -d device=mobile \
| jq -r --arg city "$city" '.local_results[]? | "\($city)\t\(.position)\t\(.title)"'
doneTôi nên dùng mã nào cho các thị trường phổ biến?
25 thị trường phổ biến. google_domain mặc định lấy domain của gl, nên hiếm khi bạn cần đặt giá trị này.
| Quốc gia | gl | hl thường dùng | Tên miền Google |
|---|---|---|---|
| United States | us | en | google.com |
| United Kingdom | gb | en | google.co.uk |
| Canada | ca | en, fr | google.ca |
| Australia | au | en | google.com.au |
| Ireland | ie | en | google.ie |
| New Zealand | nz | en | google.co.nz |
| Germany | de | de | google.de |
| France | fr | fr | google.fr |
| Spain | es | es | google.es |
| Italy | it | it | google.it |
| Netherlands | nl | nl | google.nl |
| Switzerland | ch | de, fr, it | google.ch |
| Poland | pl | pl | google.pl |
| Sweden | se | sv | google.se |
| Turkey | tr | tr | google.com.tr |
| Brazil | br | pt-BR | google.com.br |
| Mexico | mx | es | google.com.mx |
| Argentina | ar | es | google.com.ar |
| India | in | en, hi | google.co.in |
| Japan | jp | ja | google.co.jp |
| South Korea | kr | ko | google.co.kr |
| Indonesia | id | id | google.co.id |
| Vietnam | vn | vi | google.com.vn |
| Singapore | sg | en | google.com.sg |
| South Africa | za | en | google.co.za |
Mã ngôn ngữ là những mã Google dùng trong giao diện của mình; với quốc gia song ngữ, hãy chọn ngôn ngữ mà đối tượng của bạn đọc.
Tôi nên dùng domain Google nào?
Thường thì không cần: bỏ trống google_domain và API sẽ dùng domain của quốc gia gl, như trong bảng trên. Chỉ đặt khi cần tái tạo một thiết lập cụ thể, ví dụ google.com với gl=gb.
Chỉ riêng domain không xác định được quốc gia của kết quả. gl và location đóng vai trò chính, đó là lý do câu trả lời ghi lại cả ba trong search_parameters.
Kết quả trên di động và máy tính có khác nhau không?
Thường là có. Trang di động có thể sắp xếp các khối theo thứ tự khác, hiển thị nhiều kết quả địa phương hơn cho các ý định gần đây và cắt snippet ngắn hơn. Nếu khách truy cập của bạn chủ yếu dùng điện thoại, hãy theo dõi device=mobile; để có bức tranh đầy đủ, hãy theo dõi cả hai và lưu thiết bị cùng mỗi thứ hạng.
Mỗi thiết bị là một lượt tìm kiếm riêng, nên theo dõi cả hai sẽ nhân đôi credit cho những từ khóa đó. Với 0,56 US$/1K lượt tìm kiếm trên gói 100.000 tìm kiếm, 1,000 từ khóa trên hai thiết bị trong 30 ngày dùng 60,000 lượt tìm kiếm.
Làm sao so sánh nhiều quốc gia trong một script?
Lặp qua một danh sách thị trường và giữ lại những gì API đã áp dụng. Ví dụ Python gửi một truy vấn đến ba quốc gia, mỗi quốc gia kèm một thành phố, rồi in domain được dùng và liên kết đầu tiên.
import os
import requests
MARKETS = [
{"gl": "de", "hl": "de", "location": "Munich, Bavaria, Germany"},
{"gl": "fr", "hl": "fr", "location": "Lyon, Auvergne-Rhone-Alpes, France"},
{"gl": "br", "hl": "pt-BR", "location": "Curitiba, State of Parana, Brazil"},
]
for market in MARKETS:
r = requests.get(
"https://serpcrypto.com/api/v1/search",
params={"q": "running shoes", **market},
headers={"Authorization": "Bearer " + os.environ["SERPCRYPTO_API_KEY"]},
timeout=60,
)
r.raise_for_status()
applied = r.json()["search_parameters"]
top = r.json().get("organic_results", [])[:1]
print(applied["gl"], applied.get("google_domain"), [x["link"] for x in top])Bing có nhận cùng các tham số không?
Có với q, gl, hl, device và page: dùng cùng các mã với engine=bing. google_domain không áp dụng cho Bing và bị bỏ qua. Câu trả lời có cùng khung, với organic_results và related_searches; xem trang Bing để biết các trường hợp sử dụng của nó.
Câu hỏi về vị trí
Tôi có thể tìm kiếm từ mã ZIP hoặc tọa độ GPS không?
Không có trong phiên bản 1. location nhận tên địa điểm ở cấp thành phố. Để có kết quả quanh một điểm trên bản đồ, hãy dùng engine=google_maps với truy vấn nêu tên khu vực, ví dụ dentist Brooklyn.
Tại sao tôi nhận được nhãn tiếng Anh khi dùng gl=de?
Vì hl mặc định là en. Hãy đặt cả hl=de để nhận giao diện, câu hỏi và nhãn tiếng Đức mà một người ở Đức nhìn thấy.
Vị trí có làm thay đổi giá của một lần tìm kiếm không?
Không. Mỗi lần tìm kiếm tốn 1 credit, bất kể quốc gia, thành phố, ngôn ngữ hay thiết bị. Credit tìm kiếm trả trước không bao giờ hết hạn: các lượt tìm kiếm chưa dùng vẫn nằm trong tài khoản của bạn cho đến khi bạn dùng.
Mã nào là United Kingdom?
Dùng gb, mã ISO 3166-1 của nó. Tên miền Google cho nó là google.co.uk, API sẽ tự chọn khi gl=gb.