2011-12-02 13 views
8

मैंने Google खोज एपीआई की जांच की है और ऐसा लगता है कि उन्होंने "छवियों" को खोजने के लिए कोई एपीआई जारी नहीं किया है। तो, मैं सोच रहा था कि कोई पाइथन स्क्रिप्ट/लाइब्रेरी मौजूद है जिसके माध्यम से मैं "छवि सुविधा द्वारा खोज" स्वचालित कर सकता हूं।"छवि द्वारा Google खोज" के लिए पायथन लिपि

+0

मुझे लगता है कि Google उन संसाधनों के बारे में चिंतित है जो खर्च करेंगे। यह एक महान बात होगी – Coffee

+0

यह पायथन लिपि मदद कर सकती है: http://bit.ly/QjIy21 – EyalAr

उत्तर

2

कोई एपीआई उपलब्ध नहीं है लेकिन आप पृष्ठ को पार्स कर सकते हैं और ब्राउज़र का अनुकरण कर सकते हैं, लेकिन मुझे नहीं पता कि आपको कितना डेटा पर्स करने की आवश्यकता है क्योंकि Google सीमित या अवरुद्ध कर सकता है।

आप केवल urllib का उपयोग करके और सही शीर्षलेख सेट करके ब्राउज़र का अनुकरण कर सकते हैं, लेकिन यदि आपको लगता है कि पार्सिंग जटिल वेब पेज पाइथन से मुश्किल हो सकते हैं, तो आप सीधे एक ब्राउज़र के अंदर phontomjs जैसे हेडलेस ब्राउज़र का उपयोग कर सकते हैं, यह छोटा है यह सब देखने के गूगल के TOS

+0

"छवि द्वारा Google खोज" के लिए, छवि को खींच लिया जाना चाहिए और स्क्रीन पर गिरा दिया जाना चाहिए। मुझे यकीन नहीं है, जब आप ड्रॉप छवि खींचते हैं तो पाइथन –

+0

का उपयोग करके मैं इसे स्वचालित कैसे कर सकता हूं, ब्राउज़र छवि फ़ाइल डेटा को Google पर भेजता है, कि आप पाइथन से भी कर सकते हैं, लेकिन यह सभी हिस्सों को स्वचालित करने के लिए भिन्न हो सकता है, इसलिए सबसे अच्छा शर्त है fantomjs मार्ग –

-1

आप इस कोशिश कर सकते हैं की कोशिश कर रहा से पहले का उपयोग कर जावास्क्रिप्ट/डोम

नोट सही तत्वों मिलती है: https://developers.google.com/image-search/v1/jsondevguide#json_snippets_python यह पदावनत है, लेकिन काम करने के लिए लगता है।

+0

दुर्भाग्य से यह "छवि द्वारा खोज" कार्यक्षमता प्रदान नहीं करता है, यह केवल पाठ में खोज शब्दों का उपयोग करने का समर्थन करता है। JSON API पर पूर्ण दस्तावेज़ https://developers.google.com/image-search/v1/devguide पर पाए जा सकते हैं – Shnatsel

2

यह समझने के लिए काफी परेशान था कि मैंने सोचा था कि मैं "स्क्रिप्ट Google छवि खोज" के लिए पहले पायथन से संबंधित स्टैक ओवरफ्लो परिणाम पर एक टिप्पणी फेंक दूंगा। इन सब का सबसे कष्टप्रद हिस्सा Google के वेब यूआई में अपना उचित एप्लिकेशन और कस्टम सर्च इंजन (सीएसई) स्थापित कर रहा है, लेकिन एक बार जब आप अपनी एपीआई कुंजी और सीएसई रखते हैं, तो उन्हें अपने पर्यावरण में परिभाषित करें और कुछ ऐसा करें:

#!/usr/bin/env python 

# save top 10 google image search results to current directory 
# https://developers.google.com/custom-search/json-api/v1/using_rest 

import requests 
import os 
import sys 
import re 
import shutil 

url = 'https://www.googleapis.com/customsearch/v1?key={}&cx={}&searchType=image&q={}' 
apiKey = os.environ['GOOGLE_IMAGE_APIKEY'] 
cx = os.environ['GOOGLE_CSE_ID'] 
q = sys.argv[1] 

i = 1 
for result in requests.get(url.format(apiKey, cx, q)).json()['items']: 
    link = result['link'] 
    image = requests.get(link, stream=True) 
    if image.status_code == 200: 
    m = re.search(r'[^\.]+$', link) 
    filename = './{}-{}.{}'.format(q, i, m.group()) 
    with open(filename, 'wb') as f: 
     image.raw.decode_content = True 
     shutil.copyfileobj(image.raw, f) 
    i += 1 
संबंधित मुद्दे