คำตอบสั้น
ฉันจะได้ผลการค้นหา Google สำหรับประเทศและเมืองที่เจาะจงผ่าน SERP API ได้อย่างไร
ด้วย SerpCrypto ตั้ง gl เป็นรหัสประเทศ ตั้ง hl เป็นภาษา และตั้ง location เป็นชื่อเมืองที่เขียนเป็น City, Region, Country เช่น Austin, Texas, United States เพิ่ม device=mobile สำหรับผลการค้นหาทางโทรศัพท์ แต่ละชุดค่าผสมคือหนึ่งการค้นหาในราคา 1 เครดิต เริ่มต้นที่ US$0.30/1K การค้นหา และคำตอบจะสะท้อนการตั้งค่าที่ใช้ จ่ายด้วยคริปโต ไม่ต้อง KYC
พารามิเตอร์ตำแหน่งแต่ละตัวมีหน้าที่อะไร
ประเทศ (gl) ภาษา (hl) โดเมน Google และสตริงตำแหน่งระดับเมือง บนเดสก์ท็อปหรือมือถือ.
| พารามิเตอร์ | ค่าเริ่มต้น | ผลลัพธ์ |
|---|---|---|
gl | us | ประเทศของผลการค้นหา สองตัวอักษร ISO 3166-1 ตัวพิมพ์เล็ก ใช้ gb สำหรับสหราชอาณาจักร |
hl | en | ภาษาของอินเทอร์เฟซ: ป้ายกำกับ People Also Ask และบางสแนปเป็ตจะเป็นไปตามนี้ |
location | ไม่มี | สถานที่ที่เจาะจงภายในประเทศ สำหรับ local pack และอันดับระดับเมือง |
google_domain | โดเมนของ gl | โดเมน Google ที่ใช้ค้นหา เช่น google.de ไม่มีผลกับ Bing |
device | desktop | desktop หรือ mobile: เลย์เอาต์และบล็อกท้องถิ่นแตกต่างกันระหว่างสองค่า |
gl, hl และ location ต่างกันอย่างไร
gl ระบุว่าต้องการผลการค้นหาของประเทศใด hl ระบุว่าผู้ใช้อ่านภาษาอะไร ซึ่งเปลี่ยนอินเทอร์เฟซและบ่อยครั้งเปลี่ยนคำถามและสแนปเป็ต location เจาะจงประเทศลงไปถึงเมืองหรือภูมิภาค ซึ่งสำคัญทันทีที่คำค้นหามีเจตนาเชิงท้องถิ่น
ใช้ร่วมกันได้อย่างอิสระ ผู้พูดภาษาฝรั่งเศสในสวิตเซอร์แลนด์คือ gl=ch, hl=fr การค้นหาภาษาอังกฤษจากเบอร์ลินคือ gl=de, hl=en, location=Berlin, Berlin, Germany ให้ gl และประเทศของ location ตรงกัน: เมืองในประเทศหนึ่งกับ gl ของอีกประเทศจะให้ผลการค้นหาที่ไม่มีผู้เยี่ยมชมจริงคนใดเห็น
ฉันจะกำหนดเป้าหมายเป็นเมืองได้อย่างไร
เขียนชื่อสถานที่ในภาษาอังกฤษ จากหน่วยเล็กสุดไปใหญ่สุด: City, Region, Country ตัวอย่าง: Austin, Texas, United States, Manchester, England, United Kingdom, Munich, Bavaria, Germany, Lyon, Auvergne-Rhone-Alpes, France ใช้ชื่อเมือง ไม่ใช่ชื่อถนนหรือรหัสไปรษณีย์
ตรวจสอบ search_parameters.location ในคำตอบ: มันแสดงสถานที่ที่ถูกใช้ ค่าที่ใช้ไม่ได้จะคืน 400 invalid_parameter และไม่มีค่าใช้จ่าย คุณจึงทดสอบรายชื่อสถานที่ได้อย่างประหยัด
# 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)"'
doneฉันควรใช้รหัสใดสำหรับตลาดทั่วไป
25 ตลาดที่ใช้บ่อย google_domain จะใช้ค่าเริ่มต้นเป็นโดเมนของ gl ดังนั้นคุณจึงแทบไม่ต้องตั้งค่าเอง
| ประเทศ | gl | hl ทั่วไป | โดเมน Google |
|---|---|---|---|
| สหรัฐอเมริกา | us | en | google.com |
| สหราชอาณาจักร | gb | en | google.co.uk |
| แคนาดา | ca | en, fr | google.ca |
| ออสเตรเลีย | 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 |
| เม็กซิโก | mx | es | google.com.mx |
| อาร์เจนตินา | ar | es | google.com.ar |
| อินเดีย | in | en, hi | google.co.in |
| ญี่ปุ่น | jp | ja | google.co.jp |
| เกาหลีใต้ | kr | ko | google.co.kr |
| อินโดนีเซีย | id | id | google.co.id |
| เวียดนาม | vn | vi | google.com.vn |
| สิงคโปร์ | sg | en | google.com.sg |
| แอฟริกาใต้ | za | en | google.co.za |
รหัสภาษาคือรหัสที่ Google ใช้ในอินเทอร์เฟซ สำหรับประเทศที่มีสองภาษา ให้เลือกภาษาที่กลุ่มเป้าหมายของคุณอ่าน
ควรใช้โดเมน Google ไหน?
โดยปกติไม่ต้องระบุ: ปล่อย google_domain ไว้ แล้ว API จะใช้โดเมนของประเทศ gl ตามตารางด้านบน ตั้งค่าก็ต่อเมื่อต้องจำลองการตั้งค่าเฉพาะ เช่น google.com กับ gl=gb
โดเมนเพียงอย่างเดียวไม่ได้กำหนดประเทศของผลลัพธ์ gl และ location คือตัวกำหนดหลัก ซึ่งเป็นเหตุผลที่คำตอบบันทึกทั้งสามค่าไว้ใน search_parameters
ผลการค้นหาบนมือถือและเดสก์ท็อปต่างกันไหม?
บ่อยครั้งที่ต่างกัน หน้ามือถืออาจจัดลำดับบล็อกต่างออกไป แสดงผลลัพธ์ท้องถิ่นมากกว่าสำหรับเจตนาค้นหาใกล้เคียง และตัด snippet ให้สั้นลง หากผู้เข้าชมของคุณส่วนใหญ่ใช้มือถือ ให้ติดตาม device=mobile; หากต้องการภาพรวมทั้งหมด ให้ติดตามทั้งสองแบบและบันทึกอุปกรณ์ไว้กับแต่ละอันดับ
แต่ละอุปกรณ์คือการค้นหาแยกกัน ดังนั้นการติดตามทั้งสองแบบจะใช้เครดิตเป็นสองเท่าสำหรับคำค้นหาเหล่านั้น ที่ US$0.56/1K การค้นหา ในแพ็ก 100,000 การค้นหา คำค้นหา 1,000 คำบนสองอุปกรณ์เป็นเวลา 30 วันใช้ 60,000 การค้นหา
จะเปรียบเทียบหลายประเทศในสคริปต์เดียวได้อย่างไร?
วนลูปผ่านรายการตลาดและเก็บค่าที่ API ใช้จริง ตัวอย่าง Python ส่งหนึ่งคำค้นหาไปยังสามประเทศโดยระบุเมืองแต่ละแห่ง แล้วพิมพ์โดเมนที่ใช้และลิงก์แรก
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 ใช้พารามิเตอร์เดียวกันไหม?
ใช่สำหรับ q, gl, hl, device และ page: ใช้โค้ดเดียวกันกับ engine=bing ได้เลย google_domain ใช้ไม่ได้กับ Bing และจะถูกเพิกเฉย คำตอบมีโครงสร้างเหมือนกัน โดยมี organic_results และ related_searches ดูหน้า Bing สำหรับกรณีการใช้งาน
คำถามเรื่องตำแหน่ง
ค้นหาจากรหัสไปรษณีย์หรือพิกัด GPS ได้ไหม?
ไม่ได้ในเวอร์ชัน 1 location รับชื่อสถานที่ระดับเมือง สำหรับผลลัพธ์รอบจุดบนแผนที่ ให้ใช้ engine=google_maps พร้อมคำค้นหาที่ระบุพื้นที่ เช่น dentist Brooklyn
ทำไมฉันได้ป้ายภาษาอังกฤษเมื่อใช้ gl=de?
เพราะ hl ตั้งค่าเริ่มต้นเป็น en ตั้ง hl=de ด้วยเพื่อให้ได้อินเทอร์เฟซภาษาเยอรมัน คำถาม และป้ายที่คนในเยอรมนีเห็น
ตำแหน่งเปลี่ยนราคาการค้นหาไหม?
ไม่ ทุกการค้นหามีค่าใช้จ่าย 1 เครดิต ไม่ว่าประเทศ เมือง ภาษา หรืออุปกรณ์ใด เครดิตการค้นหาแบบเติมเงินไม่มีวันหมดอายุ: คำค้นหาที่ไม่ได้ใช้จะคงอยู่ในบัญชีของคุณจนกว่าคุณจะใช้
รหัสใดคือสหราชอาณาจักร?
ใช้ gb ซึ่งเป็นรหัส ISO 3166-1 โดเมน Google สำหรับที่นี่คือ google.co.uk ซึ่ง API เลือกให้คุณเมื่อ gl=gb