Apakah Anda tahu berapa banyak data yang Anda unduh dari jaringan setiap kali melihat halaman ini?

Jika tanpa cache browser, maka 600 kilobyte (dalam gzip-e) dan 38 permintaan. Jika dengan cache, maka 70 kilobyte dan 7-8 permintaan.

Tahukah Anda apa itu 600 kilobyte? Ini adalah kedua volume Perang dan Perdamaian Leo Tolstoy di gzip-e yang sama.
Tentu saja, sangat memuaskan bahwa Google Inc. menjejali kami dengan informasi yang sangat berguna. Anda bahkan tidak perlu berbicara tentang hasil pencarian sendiri - di sini ada gambar, dan informasi latar belakang dari Wikipedia, dan jam buka, dan peta, serta ulasan. Tetapi terkadang Anda menginginkan sesuatu yang sederhana dan ringkas. Tanpa tautan yang diperkosa, tanpa menjual kampanye web Anda
ke kamerad utama ke pemasar pihak ketiga. Untuk tidak memperlambat smartphone yang ketinggalan jaman dan jaringan seluler yang padat.
Anda dapat, tentu saja, meminta mesin pencari melalui skrip Anda sendiri, dengan vivisection segala sesuatu yang tidak perlu, tetapi, untungnya, Google sendiri menawarkan solusi yang elegan - akses ke API Pencarian dengan hasil murni dalam format JSON atau XML.
Berikut adalah bagian dari respons JSON sebagai contoh:
Json{ "kind": "customsearch#search", "url": { "type": "application/json", "template": "https://www.googleapis.com/customsearch/v1?q={searchTerms}&num={count?}&start={startIndex?}&lr={language?}&safe={safe?}&cx={cx?}&sort={sort?}&filter={filter?}&gl={gl?}&cr={cr?}&googlehost={googleHost?}&c2coff={disableCnTwTranslation?}&hq={hq?}&hl={hl?}&siteSearch={siteSearch?}&siteSearchFilter={siteSearchFilter?}&exactTerms={exactTerms?}&excludeTerms={excludeTerms?}&linkSite={linkSite?}&orTerms={orTerms?}&relatedSite={relatedSite?}&dateRestrict={dateRestrict?}&lowRange={lowRange?}&highRange={highRange?}&searchType={searchType}&fileType={fileType?}&rights={rights?}&imgSize={imgSize?}&imgType={imgType?}&imgColorType={imgColorType?}&imgDominantColor={imgDominantColor?}&alt=json" }, "queries": { "request": [ { "title": "Google Custom Search - habr", "totalResults": "327000", "searchTerms": "habr", "count": 10, "startIndex": 1, "inputEncoding": "utf8", "outputEncoding": "utf8", "safe": "off", "cx": "0019687164026253:oi9ssr7ci6e" } ], "nextPage": [ { "title": "Google Custom Search - habr", "totalResults": "327000", "searchTerms": "habr", "count": 10, "startIndex": 11, "inputEncoding": "utf8", "outputEncoding": "utf8", "safe": "off", "cx": "00156687164026253:oi9ssr7ci6e" } ] }, "context": { "title": "v-gornom.ru" }, "searchInformation": { "searchTime": 0.531851, "formattedSearchTime": "0,53", "totalResults": "327000", "formattedTotalResults": "327 000" }, "items": [ { "kind": "customsearch#result", "title": " / ", "htmlTitle": " / \u003cb\u003e\u003c/b\u003e", "link": "https://habr.com/", "displayLink": "habr.com", "snippet": " – , \n . , , ...", "htmlSnippet": "\u003cb\u003e\u003c/b\u003e – , \u003cbr\u003e\n . , , ...", "cacheId": "Wg3CgcvcAxUJ", "formattedUrl": "https://habr.com/", "htmlFormattedUrl": "https://\u003cb\u003ehabr\u003c/b\u003e.com/", "pagemap": { "cse_thumbnail": [ { "width": "311", "height": "162", "src": "https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcT9MbmejtANdWSuXxH7pxKqWNFFRzPiTQuLmhWk5Tc5-Y-AgUgPrwEz0MV9" } ], "metatags": [ { "viewport": "width=1024", "fb:app_id": "444736788986613", "og:type": "website", "fb:pages": "472597926099084", "og:site_name": "", "og:image": "https://habr.com/images/habr.png", "og:image:width": "1200", "og:image:height": "628", "og:title": " / ", "og:description": " – , . , , – IT- .", "yandex-verification": "71593b225aeafc4e", "referrer": "unsafe-url", "pocket-site-verification": "ed24b2b9721edf0a282c5b4a3232c4", "application-name": "", "msapplication-tilecolor": "#77a2b6", "theme-color": "#77a2b6" } ], "cse_image": [ { "src": "https://habr.com/images/habr.png" } ] } }, { "kind": "customsearch#result", "title": " — ", "htmlTitle": "\u003cb\u003e\u003c/b\u003e — ", "link": "https://ru.wikipedia.org/wiki/%D0%A5%D0%B0%D0%B1%D1%80", "displayLink": "ru.wikipedia.org", "snippet": " ( ) — - \n , \n ...", "htmlSnippet": "\u003cb\u003e\u003c/b\u003e ( \u003cb\u003e\u003c/b\u003e) — - \u003cbr\u003e\n , \u003cbr\u003e\n ...", "cacheId": "lB7MkUOxB7gJ", "formattedUrl": "https://ru.wikipedia.org/wiki/", "htmlFormattedUrl": "https://ru.wikipedia.org/wiki/\u003cb\u003e\u003c/b\u003e", "pagemap": { "cse_thumbnail": [ { "width": "220", "height": "130", "src": "https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcQqJU0itnwYGZAd6Z5aMJO0izPfF7cab6pc40vm0sujOP2dSgkP-UB0Je1T" } ], "metatags": [ { "referrer": "origin", "og:image": "https://upload.wikimedia.org/wikipedia/ru/7/7f/Habrahabr_logo.png" } ], "cse_image": [ { "src": "https://upload.wikimedia.org/wikipedia/ru/7/7f/Habrahabr_logo.png" } ] } },
Pada artikel ini, kita akan menulis Lihat untuk Google Custom Search, yang akan memiliki kekuatan Google dan memenuhi keinginan duniawi kita.
Untuk mengakses Google Custom Search API, Anda harus terlebih dahulu mendapatkan pengenal mesin pencari Anda. Untuk melakukan ini, daftarkan mesin pencari khusus di
cse.google.comKami pergi ke situs, menambahkan mesin pencari, menentukan situs sewenang-wenang, pergi ke panel kontrol dan mendapatkan pengenal mesin pencari.
Sekarang Anda perlu mendapatkan token untuk mengakses API Pencarian Kustom.
Kami pergi ke
console.cloud.google.com (diasumsikan bahwa Anda sudah memiliki akun di kedua situs), membuat proyek, pilih "API dan Layanan" → "Panel Kontrol" → "Aktifkan API dan Layanan" di menu sebelah kiri, cari ada "Custom Search API", pilih, aktifkan, lalu buat kredensial - yaitu, "API Key". Anda dapat membatasi penggunaan kunci ini hanya untuk IP Anda, Anda tidak dapat melakukan ini.
Itu saja. Sekarang kami dapat mengirim permintaan Google dengan baris ini:
https://www.googleapis.com/customsearch/v1?key={apikey}&cx={sid}&q=query
Di mana {apikey} adalah token akses, {sid} adalah pengidentifikasi pencarian.
Sebagai tanggapan, kami mendapatkan JSON yang bersih.
Menggunakan
skrip php sederhana, kita mendapatkan View kita, bahkan dengan beberapa perkiraan ke aslinya. Halaman pertama:

Hasil Pencarian:

Halaman pertama adalah 2Kb, dengan hasil pencarian - 6Kb.
Intinya di sini bukan hanya minimalis. Google dalam respons JSON memberikan banyak informasi menarik dan memungkinkan Anda menentukan permintaan dengan setidaknya sekelompok parameter. Lebih detail di
sini . Anda bahkan dapat melakukan apa yang halaman utama mesin pencari tidak izinkan.
Ada, tentu saja, juga kontra - batas 100 permintaan per hari. Sisanya untuk dolar.
Omong-omong, Anda juga dapat meng-host skrip php kami di Google dan juga gratis - di
https://appengine.google.com . Benar, di sini Anda harus banyak menderita - FTP, pengelola file web, dan direktori root situs untuk Google dasar-dasar. Oleh karena itu, Anda harus mengubah skrip php menjadi aplikasi, memasukkannya ke dalam mesin dan menggunakan konsol khusus untuk menggunakannya di awan.
Tugas itu, pada kenyataannya, tidak sepele. Tidak heran Google akan memperkenalkan sertifikasi baru - Pengguna Tersertifikasi Google.