基本的に、ローカル ドライブに保存されている画像のデータベースであるアプリがあります。より高解像度のバージョンや画像の Web ソースを見つける必要がある場合があり、Google の逆画像検索は理想的です。
残念ながら、Google には API がないため、手動で行う方法を見つけなければなりませんでした。現在、私は Selenium を使用していますが、明らかに多くのオーバーヘッドがあります。urllib2 などを使用した簡単なソリューションが必要です。POST 要求を送信し、検索 URL を取得してから、その URL を渡して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()