2014-04-01 9 views
5

ठीक है मेरे पास एक साधारण कार्य है, मैं बस Google के खोज इंजन का उपयोग करना चाहता हूं, विशेष रूप से, स्वत: सुधार भाग। आइए मान लें कि मैं Google: https://www.google.com/search?q=matew+mccaonaghey जैसा कि आप देख सकते हैं, Google ने "मैथ्यू मैकोनाउघी" के परिणाम दिखाए, इस प्रकार इनपुट को स्वत: सुधार दिया।Google सुझावों को लागू करना

तो, मैंने थोड़ा सा शोध किया और पाया कि http://suggestqueries.google.com इस तरह के इनपुट पूछने के लिए उपयोग किया जा सकता है। हालांकि यह ज्यादातर समय ठीक काम करता था, सबसे मजेदार बात: जब मैंने "मेटवे मक्काओघे" के परिणाम प्राप्त करने का प्रयास किया, तो मुझे एक खाली JSON वापस मिला। अगर मैंने खोज स्ट्रिंग को "गणित मक्काओघे" में बदल दिया है, तो परिणाम ठीक हैं।

मुझे क्या याद आ रही है? सुझाव नहीं है infoeries.google.com www.google.com के समान काम करता है? Google.com का उपयोग करते समय सुझावों और वास्तविक परिणाम के मामले में मुझे खाली जेसन क्यों मिलता है?

आपके उत्तरों के लिए धन्यवाद।

कोड इस प्रकार है:

URL url = new URL("http://suggestqueries.google.com/complete/search?output=firefox&client=firefox&hl=en-US&q=matew+mccaonaghey"); 
URLConnection conn = (URLConnection) url.openConnection(); 
conn.setRequestProperty("User-Agent", 
    "Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36"); 
conn.connect(); 
BufferedReader serverResponse = new BufferedReader(
    new InputStreamReader(conn.getInputStream())); 
System.out.println(serverResponse.readLine()); 
serverResponse.close(); 

उत्तर

0

कारण :)
गूगल अलग आंतरिक एपीआई उपयोग कर रहा है सरल है। फ़ायरफ़ॉक्स का सुझाव है कि एपीआई पुराना है और वास्तव में आपको कुछ तारों पर खाली प्रतिक्रिया देगा। लेकिन यह अधिक या अलग परिणामों का भी कारण बन सकता है, कारण गूगल्स कोड के भीतर है।
इसके अलावा नई एपीआई एक ही क्वेरी पर परिणामों की मात्रा से दो बार वापस आ सकती है।

यह Google Suggest Scraper देखें, यह एक नि: शुल्क/मुक्त स्रोत PHP प्रोजेक्ट है जो आंतरिक सुझाव/स्वत: पूर्णता API, जिसे आपने उपयोग किया था और एक नया दोनों स्क्रैप कर सकते हैं।
फ़ायरफ़ॉक्स मोड::

Google Suggest Spider results 
Recursion level 0 contains 0 keywords: 
| Keyword           | Suggests           | 
| -------------------------------------------------- | -------------------------------------------------- | 

नए मोड:

Recursion level 0 contains 20 keywords: 
| Keyword           | Suggests           | 
| -------------------------------------------------- | -------------------------------------------------- | 
| matew mccaonaghey         | matthew mcconaughey        | 
|             | matthew mcconaughey movies       | 
|             | matthew mcconaughey true detective     | 
|             | matthew mcconaughey alright alright alright  | 
|             | matthew mcconaughey oscar speech     | 
|             | matthew mcconaughey diet       | 
|             | matthew mcconaughey speech       | 
|             | matthew mcconaughey dallas buyers club    | 
|             | matthew mcconaughey hair       | 
|             | matthew mcconaughey dazed and confused    | 
|             | matthew mcconaughey woody harrelson    | 
|             | matthew mcconaughey oscar       | 
|             | matthew mcconaughey weight loss     | 
|             | matthew mcconaughey height       | 
|             | matthew mcconaughey workout      | 
|             | matthew mcconaughey hbo       | 
|             | matthew mcconaughey wolf of wall street   | 
|             | matthew mcconaughey golden globes     | 
|             | matthew mcconaughey net worth      | 
|             | matthew mcconaughey skinny       | 

आशा है कि मदद करता है

मुझे यकीन है कि मैं सही हूँ, यहाँ परिणाम बनाने के लिए दोनों मोड में यह शुरू कर दिया।

+0

स्पष्टीकरण के लिए धन्यवाद! हालांकि, मुझे संदेह है कि Google अपने डेटा को स्क्रैप करने की अनुमति देगा क्योंकि यह प्रस्तावित PHP प्रोजेक्ट ऐसा प्रतीत होता है। मुझे लगता है कि अगर बहुत सारे अनुरोध होंगे, तो कुछ प्रकार के कैप्चा चीजों के Google पक्ष में सक्रिय हो जाएंगे। –

+1

सीमाओं को दूर करने के लिए परियोजना आईपी प्रदाता से ली गई कई आईपी का उपयोग करती है और उन्हें ऐसे तरीके से प्रबंधित करती है जो लम्बेरम ब्लॉक को रोकती है। मैंने इसे बिना किसी समस्या के कई दस हजार परिणामों के लिए उपयोग किया (अब तक)। और हां, यदि आप केवल अपनी एपीआई से पूछते हैं तो आप अवरुद्ध हो जाते हैं। लेकिन इस मामले में कैप्चा द्वारा नहीं, आपको अभी और कोई प्रतिक्रिया नहीं मिलती है। – John

संबंधित मुद्दे