Skip to main content

python-ecosia-images

Python module for searching and downloading images from Ecosia

Installing

pip install ecosia-images

Setup

The only requisite to work with the library is to have a web browser and its driver installed. Currently the package works with either Google Chrome or Firefox.

If using Google Chrome it is required to also have Chromedriver installed and reachable in PATH. See the following link for more information.

As for Firefox, Geckodriver is required to be installed and reachable in PATH.

Examples

Start a crawler

>>> from ecosia_images import crawler
>>> searcher = crawler()

The browser to be used can be passed to the crawler constructor

>>> from ecosia_images import crawler
>>> searcher = crawler(browser='firefox')

To see all valid browser options, see ecosia_images.browser_options.

>>> from ecosia_images import browser_options
>>> browser_options
['chrome', 'firefox']

Search images and get the links to the pictures

After declaring a crawler and using it to search for a keyword, the resulting links will be accesible by the links property

>>> searcher = crawler()
>>> searcher.search('number 9')
>>> searcher.links
{ ... } # urls

Search with options

Searches can also include the options that Ecosia provides for refining results. The available keys and values for refining searches are stored in ecosia_images.download_options.

>>> from ecosia_images import download_options
>>> download_options
{
    'size': ['small', 'medium', 'large', 'wallpaper'],
    'color': ['colorOnly', 'monochrome', 'red', 'orange', 'yellow', 'green', 'teal', 'blue', 'purple', 'pink', 'brown', 'black', 'gray'],
    'image_type': ['photo', 'clipart', 'line', 'animated'],
    'freshness': ['day', 'week', 'month'],
    'license': ['share', 'shareCommercially', 'modify', 'modifyCommercially', 'public']
}

The selected options can be specified when calling the search method of the crawler.

>>> searcher.search('trees', color='monochrome', size='wallpaper')
>>> searcher.links
{ ... } # links to big pictures of trees in black and white

Gather more links

If more links are needed the function gather_more can be used.

>>> searcher.search('bees')
>>> len(searcher.links)
50  # Give or take
>>> searcher.gather_more()
>>> len(searcher.links)
100 # Give or take

Download images

In all the following cases, the script first checks whether the image has been already downloaded so it does not downloads it again. Also, the functions will return the file paths to the downloaded images.

The download function will download a given number of pictures and save them in a folder whose name coincides with the keyword. This folder will be created inside the one specified when calling the function. In the following example, the images would be saved inside /path/to/folder/downloads/keyword/.

>>> searcher.search('keyword')
>>> searcher.download(100, '/path/to/folder/')
[ ... ] # list with file paths

If no folder is specified, the images will be saved inside a new folder named downloads located in the current working directory.

>>> searcher.search('apples')
>>> searcher.download(100)  # The pictures will be saved at ./downloads/apples/
[ ... ]

There is also the download_all function which will download all the currently available links in the crawler object

>>> searcher.search('pidgeons')
>>> searcher.download_all()
[ ... ]

Stoping the client

It is necessary to stop the crawler to avoid the leak of resources.

>>> searcher.stop()

Disclaimer

The dowloaded images come from the Ecosia search engine and they may have copyrights. Do not download or use any image that violates its copyright terms. You can take advantage of the license option of the search function to avoid using copyrighted material.

Release files for ecosia-images 0.4.14

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ecosia-images 0.4.14
File Size Uploaded
ecosia_images-0.4.14.tar.gz 5.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ecosia-images 0.4.14
File Interpreter ABI Platform
ecosia_images-0.4.14-py3-none-any.whl Python 3 none any Details

Total release size: 13.0 kB

Release files / ecosia_images-0.4.14.tar.gz

Download URL ecosia_images-0.4.14.tar.gz
Size 5.9 kB
Tags Source
SHA-256 checksum
How to use checksums
bf5ef6d65a2ac80783e73e59627244f37cea7d5765e9ef56f0b521ad0473a8f0
BLAKE2b-256 checksum
How to use checksums
025f78c9c04b14f9322c88a2225b86943dd765c5f03b7dd6280909932c160de7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.6

Release files / ecosia_images-0.4.14-py3-none-any.whl

Download URL ecosia_images-0.4.14-py3-none-any.whl
Size 7.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
91d04428fa2847fb76d17cdad19e6cd7ce69d5c8b93fa1eaa42472788a8074eb
BLAKE2b-256 checksum
How to use checksums
0ddeca04111c528e8307e7441339f1f34f5addf94050e845042a7b6e2adec7f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.6

Release history Release notifications | RSS feed

0.6.4

2 release files

0.5.0

2 release files

0.4.16

2 release files

This release

0.4.14 This release

2 release files

0.4.12

2 release files

0.4.10

2 release files

0.4.8

2 release files

0.4.7

2 release files

0.4.6

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page