Support IVY : Encyclopédie #1 et site d'informations, Conseils, Tutorials, Guides et plus
  • Accueil
  • Astuces
  • Magazine
    • Conseil en relations
      • Astuces
    • Rédaction & écriture
    • Web Design
    • Réseaux sociaux
      • Facebook
  • Lifestyle
    • Food
  • Ressources
    • Questions & Réponses
    • Graphique
      • PixelArt
No Result
View All Result
Support IVY : Encyclopédie #1 et site d'informations, Conseils, Tutorials, Guides et plus
  • Accueil
  • Astuces
  • Magazine
    • Conseil en relations
      • Astuces
    • Rédaction & écriture
    • Web Design
    • Réseaux sociaux
      • Facebook
  • Lifestyle
    • Food
  • Ressources
    • Questions & Réponses
    • Graphique
      • PixelArt
Support IVY : Encyclopédie #1 et site d'informations, Conseils, Tutorials, Guides et plus
No Result
View All Result
Home Programmation

Web Scraping Stock Images à l’aide de Google Selenium et Python

21 juin 2020
in Programmation
Reading Time: 5 mins read
Web Scraping Stock Images à l’aide de Google Selenium et Python

Table des matières

    • 0.1 ArticlesA lire
    • 0.2 Eh bien, cela s’est rapidement développé – Construire de meilleurs produits avec l’escalade
    • 0.3 Revue Atomicrops – SUPERJUMP – Moyen
    • 0.4 Application des principes heuristiques pour évaluer un jeu mobile
    • 0.5 Un moyen super facile de faire des validations EditText dans Android
  • 1 Web Scraping Stock Images à l’aide de Google Selenium et Python

ArticlesA lire

Eh bien, cela s’est rapidement développé – Construire de meilleurs produits avec l’escalade

Eh bien, cela s’est rapidement développé – Construire de meilleurs produits avec l’escalade

Revue Atomicrops – SUPERJUMP – Moyen

Revue Atomicrops – SUPERJUMP – Moyen

Application des principes heuristiques pour évaluer un jeu mobile

Un moyen super facile de faire des validations EditText dans Android

Web Scraping Stock Images à l’aide de Google Selenium et Python

    import selenium
    from selenium import webdriver
    from selenium.webdriver.chrome.service import Service
    DRIVER_PATH = '/../../../../../../chromedriver'
    service = Service(DRIVER_PATH)
    service.start()
    wd = webdriver.Remote(service.service_url)
    wd.quit()
        def fetch_image_urls(query:str, max_links_to_fetch:int, wd:webdriver, sleep_between_interactions:int=3):
        def scroll_to_end(wd, scroll_point):
        wd.execute_script(f"window.scrollTo(0, {scroll_point});")
        time.sleep(sleep_between_interactions)

        # build the unsplash query
        search_url = f"https://unsplash.com/s/photos/{query}"

        # load the page
        wd.get(search_url)
        time.sleep(sleep_between_interactions)

        image_urls = set()
        image_count = 0
        number_results = 0

        for i in range(1,20):
        scroll_to_end(wd, i*1000)
        time.sleep(5)
        thumb = wd.find_elements_by_css_selector("img._2zEKz")
        time.sleep(5)
        for img in thumb:
        print(img)
        print(img.get_attribute('src'))
        image_urls.add(img.get_attribute('src'))
        image_count = len(image_urls)
        number_results = image_count
        time.sleep(.5)
        print(f"Found: {number_results} search results. Extracting links...")

        return image_urls
        def persist_image(folder_path:str,url:str):
        try:
        headers = {'User-agent': Chrome/64.0.3282.186'}
        image_content = requests.get(url, headers=headers).content

        except Exception as e:
        print(f"ERROR - Could not download {url} - {e}")

        try:
        image_file = io.BytesIO(image_content)
        image = Image.open(image_file).convert('RGB')
        file_path = os.path.join(folder_path,hashlib.sha1(image_content).hexdigest()[:10] + '.jpg')
        with open(file_path, 'wb') as f:
        image.save(f, "JPEG", quality=85)
        print(f"SUCCESS - saved {url} - as {file_path}")
        except Exception as e:
        print(f"ERROR - Could not save {url} - {e}")
        def search_and_download(search_term:str,driver_path:str,
        target_path='./images-UNSPLASH',number_images=200):
        target_folder = os.path.join(target_path,'_'.join(search_term.lower().split(' ')))
        if not os.path.exists(target_folder):
        os.makedirs(target_folder)
        with webdriver.Chrome(executable_path=driver_path) as wd:
        res = fetch_image_urls(search_term, number_images, wd=wd, sleep_between_interactions=3)

        for elem in res:
        persist_image(target_folder,elem)

          import requests
          import os
          import io
          from PIL import Image
          import hashlib
          search_terms = ['beard', 'male face', 'teen face', 'shaved']for search_term in search_terms:
          search_and_download(search_term=search_term, driver_path=DRIVER_PATH)
          ShareTweetPin

          Related Posts

          Eh bien, cela s’est rapidement développé – Construire de meilleurs produits avec l’escalade
          Programmation

          Eh bien, cela s’est rapidement développé – Construire de meilleurs produits avec l’escalade

          Eh bien, cela s'est rapidement développé - Construire de meilleurs produits avec l'escalade Une fois les plaisanteries de base terminées,...

          Revue Atomicrops – SUPERJUMP – Moyen
          Android

          Revue Atomicrops – SUPERJUMP – Moyen

          Revue Atomicrops - SUPERJUMP - Moyen L'agriculture est destinée à compléter l'action, et non l'inverse.

          Programmation

          Application des principes heuristiques pour évaluer un jeu mobile

          Application des principes heuristiques pour évaluer un jeu mobile photo par Austin Distel sur Unsplash photo par Halacious sur Unsplash...

          Android

          Un moyen super facile de faire des validations EditText dans Android

          Un moyen super facile de faire des validations EditText dans Android Ici, nous obtenons le TextInputLayout de TextInputEditText en utilisant...

          Next Post
          Design : Nos hypothèses de conception et idées fausses

          Design : Nos hypothèses de conception et idées fausses

          Physical Vocabulary for Digital Worlds – SUPERJUMP

          Vocabulaire physique pour les mondes numériques - SUPERJUMP

          Laisser un commentaire Annuler la réponse

          Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

          • Accueil
          • Questions & Réponses
          • Science
          • Astuces
          • Business
          • Cryptomonnaie
          • Design
          • Marketing
          • Programmation
          • Politique de confidentialité
          • Rankiing
          • A propos
          • Contact

          © 2018-2020 SupportIVY - Premium Magazine.

          No Result
          View All Result
          • Accueil
          • Astuces
          • Magazine
            • Conseil en relations
              • Astuces
            • Rédaction & écriture
            • Web Design
            • Réseaux sociaux
              • Facebook
          • Lifestyle
            • Food
          • Ressources
            • Questions & Réponses
            • Graphique
              • PixelArt