क्या आप जानते हैं कि इस पृष्ठ को देखने के लिए आप हर बार नेटवर्क से कितना डेटा डाउनलोड करते हैं?

यदि एक ब्राउज़र कैश के बिना, तो 600 किलोबाइट (गज़िप-ई में) और 38 अनुरोध। यदि कैश के साथ, तो 70 किलोबाइट और 7-8 अनुरोध।

क्या आप जानते हैं कि 600 किलोबाइट क्या हैं? ये दोनों एक ही गज़िप-ई में लियो टॉल्स्टॉय के युद्ध और शांति के खंड हैं।
बेशक, यह संतुष्टिदायक है कि Google Inc. इतनी उपयोगी जानकारी के साथ हमें भराई। यहां तक कि आपको स्वयं खोज परिणामों के बारे में भी बात नहीं करनी होगी - यहाँ चित्र हैं, और विकिपीडिया से पृष्ठभूमि की जानकारी, और खुलने का समय, और एक नक्शा और समीक्षाएं हैं। लेकिन कभी-कभी आप कुछ सरल और संक्षिप्त चाहते हैं। बलात्कार लिंक के बिना, अपने वेब अभियानों
को बेचने के बिना, तीसरे-पक्ष के विपणक
को कॉमरेड को बेचने के
लिए । पुराने स्मार्टफोन और भीड़भाड़ वाले मोबाइल नेटवर्क को धीमा न करने के लिए।
बेशक, आप अपने स्वयं के स्क्रिप्ट के माध्यम से खोज इंजन को क्वेरी कर सकते हैं, जो कि अनावश्यक है, लेकिन, सौभाग्य से, Google खुद को JSON या XML प्रारूप में शुद्ध परिणामों के साथ अपने खोज एपीआई तक पहुंच प्रदान करता है।
यहाँ एक उदाहरण के लिए JSON प्रतिक्रिया का एक हिस्सा है:
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" } ] } },
इस लेख में, हम Google कस्टम खोज के लिए एक दृश्य लिखेंगे, जिसमें Google की शक्ति होगी और हमारी सांसारिक इच्छाओं को पूरा करेगा।
Google कस्टम खोज API तक पहुंचने के लिए, आपको सबसे पहले अपने खोज इंजन के पहचानकर्ता को प्राप्त करना होगा। ऐसा करने के लिए,
cse.google.com पर एक कस्टम खोज इंजन पंजीकृत करें
हम साइट पर जाते हैं, एक खोज इंजन जोड़ते हैं, एक मनमाना साइट निर्दिष्ट करते हैं, नियंत्रण कक्ष पर जाते हैं और खोज इंजन का पहचानकर्ता प्राप्त करते हैं।
अब आपको कस्टम खोज एपीआई तक पहुंचने के लिए टोकन प्राप्त करने की आवश्यकता है।
हम
कंसोल .cloud.google.com पर जाते हैं (यह माना जाता है कि आपके पास दोनों साइटों पर पहले से ही खाते हैं), एक परियोजना बनाएं, "एपीआई और सेवाएँ" → "नियंत्रण कक्ष" का चयन करें → बाईं ओर के मेनू में "एपीआई और सेवाएँ सक्षम करें" देखें, "कस्टम खोज एपीआई" है, चयन करें, सक्षम करें, फिर क्रेडेंशियल बनाएं - अर्थात्, "एपीआई कुंजी"। आप इस कुंजी के उपयोग को केवल अपने आईपी तक सीमित कर सकते हैं, आप ऐसा नहीं कर सकते।
वह सब है। अब हम इस लाइन के साथ Google अनुरोध भेज सकते हैं:
https://www.googleapis.com/customsearch/v1?key={apikey}&cx={sid}&q=query
जहां {apikey} पहुंच टोकन है, {sid} खोज पहचानकर्ता है।
जवाब में, हमें एक साफ JSON मिलता है।
एक
साधारण php स्क्रिप्ट का उपयोग करते हुए
, हम अपने दृश्य को प्राप्त करते हैं, यहां तक कि मूल के कुछ सन्निकटन के साथ भी। पहला पेज:

खोज परिणाम:

पहला पृष्ठ 2Kb है, जिसके खोज परिणाम हैं - 6Kb।
यहां बात केवल अतिसूक्ष्मवाद की नहीं है। JSON प्रतिक्रिया में Google रोचक जानकारी का एक समूह देता है और आपको कम से कम मापदंडों के एक अनुरोध को निर्दिष्ट करने की अनुमति देता है। अधिक जानकारी
यहाँ । आप यह भी कर सकते हैं कि खोज इंजन का मुख्य पृष्ठ क्या अनुमति नहीं देता है।
बेशक, यह भी विपक्ष - प्रति दिन 100 अनुरोधों की एक सीमा है। बाकी डॉलर के लिए है।
वैसे, आप हमारी php स्क्रिप्ट को Google पर भी होस्ट कर सकते हैं और वो भी बिल्कुल मुफ्त में -
https://appengine.google.com पर । सच है, यहां आपको पहले से ही बहुत कुछ झेलना पड़ता है - एफ़टीपी, वेब फ़ाइल प्रबंधक और Google की अशिष्टताओं के लिए साइट की जड़ निर्देशिका। इसलिए, आपको एप्लिकेशन में php स्क्रिप्ट को चालू करना होगा, इसे इंजन में डालना होगा और बादलों में इसे तैनात करने के लिए विशेष कंसोल का उपयोग करना होगा।
वास्तव में, कार्य तुच्छ नहीं है। कोई आश्चर्य नहीं कि Google एक नया प्रमाणीकरण शुरू करने जा रहा है - Google प्रमाणित उपयोगकर्ता।