Je suis intéressé par l'automatisation de la recherche d'images inversées. Yandex en particulier est idéal pour briser les poissons-chats, encore mieux que Google Images. Alors, considérez ceci Python code:
import requests
import webbrowser
try:
filePath = "C:\\path\\whateverThisIs.png"
searchUrl = 'https://yandex.ru/images/'
multipart = {'encoded_image': (filePath, open(filePath, 'rb')), 'image_content': ''}
response = requests.post(searchUrl, files=multipart, allow_redirects=False)
#fetchUrl = response.headers['Location']
print(response)
print(dir(response))
print(response.content)
input()
except Exception as e:
print(e)
print(e.with_traceback)
input()```
Le script échoue avec KeyError, 'location'
n'est pas trouvé. Je sais que le code fonctionne car si vous remplacez searchUrl
par http://www.google.hr/searchbyimage/upload
alors le script renvoie l'URL correcte. Donc, en bref, le résultat attendu serait une URL avec une recherche d'image. En réalité, nous obtenons une KeyError où cette URL était censée être stockée. De toute évidence, Yandex ne fonctionne pas exactement de la même manière, peut-être que l'URL est désactivée (même si j'ai essayé une tonne de variantes) ou la raison peut être complètement différente.
Indépendamment de cela, l'aide à résoudre ce problème est très appréciée!
Il n'y a pas d'API pour les développeurs. Vous pouvez essayer les requêtes de reverse inginer depuis votre navigateur, mais vous devrez faire face à anty robot protect.
Une autre façon d'accélérer le processus (mais toujours manuelle)