का उपयोग कर Google रिवर्स छवि खोज मेरे पास एक ऐप है जो मूल रूप से मेरे स्थानीय ड्राइव पर संग्रहीत छवियों का डेटाबेस है। कभी-कभी मुझे एक उच्च रिज़ॉल्यूशन संस्करण या छवि के वेब स्रोत को खोजने की आवश्यकता होती है, और इसके लिए Google का reverse image search आदर्श है।POST अनुरोध
दुर्भाग्यवश, Google के पास इसके लिए कोई एपीआई नहीं है, इसलिए मुझे इसे मैन्युअल रूप से करने का एक तरीका पता लगाना पड़ा। अभी मैं सेलेनियम का उपयोग कर रहा हूं, लेकिन जाहिर है कि बहुत सारे ओवरहेड हैं। मुझे urllib2 या कुछ समान का उपयोग करके एक सरल समाधान चाहिए - एक POST अनुरोध भेजें, खोज यूआरएल वापस प्राप्त करें, और फिर मैं अपने यूआरएल को पहले से ही खोले गए सिस्टम ब्राउज़र में लोड करने के लिए webbrowser.open(url)
पर पास कर सकता हूं।
यहाँ अभी मैं क्या उपयोग कर रहा हूँ है:
gotUrl = QtCore.pyqtSignal(str)
filePath = "/mnt/Images/test.png"
browser = webdriver.Firefox()
browser.get('http://www.google.hr/imghp')
# Click "Search by image" icon
elem = browser.find_element_by_class_name('gsst_a')
elem.click()
# Switch from "Paste image URL" to "Upload an image"
browser.execute_script("google.qb.ti(true);return false")
# Set the path of the local file and submit
elem = browser.find_element_by_id("qbfile")
elem.send_keys(filePath)
# Get the resulting URL and make sure it's displayed in English
browser.get(browser.current_url+"&hl=en")
try:
# If there are multiple image sizes, we want the URL for the "All sizes" page
elem = browser.find_element_by_link_text("All sizes")
elem.click()
gotUrl.emit(browser.current_url)
except:
gotUrl.emit(browser.current_url)
browser.quit()
यदि आप वाणिज्यिक हैं, तो TinEye एक अच्छा विकल्प है। यदि आप उन्हें कहीं भी यूआरएल 'www.google.com/searchbyimage अपलोड कर सकते हैं? Image_url = IMAGE_URL' उपयोगी होगा। – Others