Обратный поиск изображений Google

Я пытаюсь изменить поиск изображений по URL-адресу из приложения для Android. Базовый URL, который я использую:

https://images.google.com/searchbyimage?image_url=

Это работает для большинства URL-адресов, однако некоторые из них не работают из приложения, например, с URL-адресом из сообщения Reddit:

https://i.reddituploads.com/bb7b0423593e413f88126a3a970dfb1a?fit=max&h=1536&w=1536&s=a057607161cdbab59d30ee2c6f0d88f0

который становится

https://images.google.com/searchbyimage?image_url=https://i.reddituploads.com/bb7b0423593e413f88126a3a970dfb1a?fit=max&h=1536&w=1536&s=a057607161cdbab59d30ee2c6f0d88f0

Но это говорит: «URL-адрес не относится к изображению или изображение не является общедоступным». Однако, если я перехожу на images.google.com и вставляю https://i.reddituploads.com/bb7b0423593e413f88126a3a970dfb1a?fit=max&h=1536&w=1536&s=a057607161cdbab59d30ee2c6f0d88f0 вручную, все работает отлично. Любые идеи, почему у него будут проблемы с некоторыми URL-адресами, а не с другими?


person Ryan Cirese    schedule 01.01.2017    source источник


Ответы (1)


Сначала вам нужно закодировать URL-адрес примерно так:

https://images.google.com/searchbyimage?image_url=https%3A//i.reddituploads.com/bb7b0423593e413f88126a3a970dfb1a%3Ffit%3Dmax%26h%3D1536%26w%3D1536%26s%3Da05060899161cdbab=6freld8597161cdbab=

Я знаком с java, но в python есть функция для кодирования URL в нужную форму: urllib.parse.quote

person Joey Zhang    schedule 01.01.2017