Bonsoir,
J’aimerais faire un script en python qui télécharge les 1000 premières image de google image :
- Je donne un nom de dossier en paramètre
- Je donne un string correspondant à la recherche sur google image
- Ma fonction télécharge les 1000 premières images de google image pour le nom de recherche spécifié dans le nom de dossier spécifié
J’ai testé plusieurs solutions pour résoudre ce problème mais aucune ne fonctionnent. Par exemple j’ai tenté l’utilisation du module google_images_download
mais celui est devenu obsolète.
Je me suis dis que l’utilisation de BeautifulSoup
est peut-être la solution mais je vois difficilement comment procéder. Je récupère toutes les img
de la page dans une liste, j’accède à leur src
, puis je save l’image ? Malheureusement lorsque je fais cela ça ne marche pas :
import os
import csv
import requests
from bs4 import BeautifulSoup
from PIL import Image
requete = requests.get("https://www.google.com/search?q=test&tbm=isch&ved=2ahUKEwixraH7sKHwAhUigXMKHfAWDVoQ2-cCegQIABAA&oq=test&gs_lcp=CgNpbWcQAzIHCAAQsQMQQzIECAAQQzIECAAQQzIECAAQQzIFCAAQsQMyBQgAELEDMgQIABBDMgUIABCxAzIECAAQQzIECAAQQzoECCMQJzoCCAA6CAgAELEDEIMBUO0GWO0IYKALaABwAHgAgAFHiAGCApIBATSYAQCgAQGqAQtnd3Mtd2l6LWltZ8ABAQ&sclient=img&ei=YpCJYLH0M6KCzgPwrbTQBQ&bih=821&biw=1440")
page = requete.content
soup = BeautifulSoup(page)
img = soup.find_all("img")
for i in img:
url = "https:/"+i['src']
im1 = Image.open(requests.get(url, stream=True).raw)
im1.save(i['src'] +".jpg")
J’ai ce type d’erreurs :
requests.exceptions.ConnectionError: HTTPConnectionPool(host='images', port=80): Max retries exceeded with url: /branding/searchlogo/1x/googlelogo_desk_heirloom_color_150x55dp.gif (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fb097509eb0>: Failed to establish a new connection: [Errno 8] nodename nor servname provided, or not known'))
Avez-vous des idées de solution à mon problème ?
Merci beaucoup et bonne soirée !