Python - Laste ned filer fra DuckDuckGo

Python - Laste ned filer fra DuckDuckGo

Wed 10 April 2024

Laste ned filer fra DuckDuckGo med hjelp av python

Laste ned filer

I forbindelse med at jeg trengte et sett med bilder for å trene en KI modell fant jeg ut at det var enklest å skrive en liten kodesnutt i python som kunne spare meg det manuelle arbeidet med å lagre bilder.

# Import stuff
from duckduckgo_search import DDGS # pip install duckduckgo_search
from fastdownload import download_url # conda install fastdownload
from fastcore.all import * # conda install -c fastai fastai
import requests
import os
from urllib.error import HTTPError

# Create a folder to store the results
try:
    os.mkdir("data/fruits", 755)
except IOError as e:
    print(e)

# A list of search terms.
searches = ['fruit banana', 'fruit apple', 'fruit kiwi']
path = 'data/fruits'

# Loop the list of search term, search and download max 7 result on each search term.
for search in searches:
    i = 0
    keyword=search
    results = DDGS().images(keywords=search, max_results=7)
    for result in results:
        _, extension = os.path.splitext(result['image'])
        if (extension == ".jpg" or extension == ".png"):
            try:
                download_url(result['image'], path + "/" + keyword + " " + str(i) + extension, show_progress=True)
            except HTTPError as e:
                print(e)
        i = i + 1

Det tok noen minutter å skrive koden, men dette er sånn type kode som fort sparer inn igjen tiden om man skal laste ned bilder mer en en gang. Bruk med måte så du ikke 'overbelaster' søkemotoren og får deg selv blokkert.