İstek gönderme
/v1/search uç noktası, arama kutusuna yazacağınız sorgunun aynısını
ve birkaç parametreyi alır. GET ve POST isteklerine
yanıt verir; parametreler her iki durumda da aynıdır.
Parametreler
| Ad | Varsayılan | Anlamı |
|---|---|---|
query | zorunlu | Arama dizesi. Sözdizimi web sitesindekiyle aynıdır, bkz. sorgu sözdizimi. |
page | 1 | Numaralandırma 1'den başlar. |
per_page | 100 | En fazla planınızın satır sınırı kadar; aynı sınır page × per_page için de geçerlidir: bir plan bir sorgunun ilk N satırını kapsar ve sayfalama bunların ötesine geçmez (400 page_too_deep). /v1/account bu sınırı max_per_page olarak bildirir. |
snippets | kapalı | Eşleşen metni de almak için 1. Parçacık kotasından harcar. |
format | json | Altı biçimden biri, bkz. yanıt biçimleri. |
columns | biçime bağlı | domain, url, rank, ranked, snippets sütunlarından istedikleriniz, virgülle ayrılmış. |
delimiter | ; / sekme | csv ve tsv için. |
header | kapalı | csv ve tsv çıktısının başına başlık satırı koymak için 1. |
GET
curl -H "Authorization: Bearer $KEY" \
"https://api.publicwww.com/v1/search?query=%22angular.min.js%22&page=2&per_page=50"
Sorguyu URL için kodlamayı unutmayın. Tırnaklar, eğik çizgiler ve + işareti önemlidir.
POST
Aynı parametreler, JSON gövdesi olarak. Sorgu uzunsa ya da birkaç ifade içeriyorsa bunu kullanın: URL'deki çok satırlı bir sorgu, sunucu buna aldırmadan çok önce proxy'lerin ve istemcilerin uzunluk sınırlarına takılır.
curl https://api.publicwww.com/v1/search \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{"query": ["\"angular.min.js\"", "\"bootstrap.min.css\""],
"per_page": 50,
"snippets": true}'
İfadelerden oluşan bir dizi, hepsinin birlikte bulunması anlamına gelir; tıpkı
onları query dizesinde satır sonlarıyla ayırmak gibi. Yukarıdaki
örnekte ilk ifade 278 sitede, ikisi birden 99 sitede geçiyor.
JSON türleri tanınır: URL'nin sorgu dizesinde 1 gereken yerde
true da çalışır. Bir parametre hem URL'de hem gövdede verilirse
gövdedeki geçerli olur.
Yanıt
| Alan | Anlamı |
|---|---|
total | Dizinin tamamında kaç sitenin eşleştiği. Tahmin değil, gerçek sayı. |
total_pages | total bölü per_page, yukarı yuvarlanmış. |
returned | Bu sayfada gerçekte kaç satır olduğu. |
truncated | Planınızın gösterilen sıra sınırı yüzünden satırlardan herhangi birinin çıkarılıp çıkarılmadığı. |
took_ms | Aramanın milisaniye cinsinden süresi. |
results | Satırlar. |
Bir satır
| Alan | Anlamı |
|---|---|
domain | Site. |
url | Eşleşmenin bulunduğu sayfa; depth: aramalarında bu, ana sayfa değildir. |
rank | Popülerlik sıralamasındaki yer; değer ne kadar küçükse site o kadar popülerdir. Sitenin sırası yoksa null. |
ranked | rank değeri null olduğunda ve yalnızca o zaman false. |
snippets | Yalnızca snippets=1 ile. En fazla beş {"text", "match"} çifti: match eşleşen kısımdır, text ise aynı kısmın çevresindeki bağlamla birlikte hâlidir. |
Sayfalama ve toplu indirme
page ile sayfa sayfa ilerleyin ya da büyük bir per_page
değeriyle her şeyi tek seferde isteyin. Üst sınır, /v1/account
yanıtındaki max_per_page değeridir ve ücretli planda bir milyondur.
Ayrı bir dışa aktarma uç noktası yoktur; yanıt oluşturuldukça gönderilir, bu
yüzden bir milyon satır, bir yerde bellekte tutulan bir milyon satır anlamına
gelmez.