Skip to main content

A Python-based Google Photos downloader built with Selenium.

Project description

Google Photos Downloader

A Python-based Google Photos downloader built with Selenium.

This tool automates the process of downloading photos from Google Photos albums by simulating user interaction with the web interface. It uses Selenium to open shared album links, click the "Download all" button, and extract the images to your local system.

Features

  • Accepts link-shared Google Photos album URLs
  • Accepts your own Google Photos album URLs if you supply the profile directory.
  • Automatically extracts downloaded .zip files into organized folders
  • Works without needing any API keys or OAuth setup
  • Supports batch downloading of multiple album links

Why not use the Google Photos API?

The original Google Photos API is deprecated. While the Google Picker API is still available, it comes with several major limitations:

  • You must select each photo manually, no "select all" option, meaning it can not be automated.
  • Limited to a maximum number of items
  • It requires setting up a Google Cloud project and API credentials, which is pretty hard.

Disclaimer

  • Be aware of Google’s Terms of Service before using this tool.
  • It simulates human actions, but Google might not be happy about someone using this.
  • Selenium auto-downloads the Chrome driver if not found, which can take up space.

Installation

pip install gp-dl

Usage

CLI

gp-dl --album-urls ALBUM_URL ALBUM_URL2 --output-dir test --log-level info

As a module

from gp_dl import download_albums
successful_albums, failed_albums, album_times = download_albums(["ALBUM_URL", "ALBUM_URL2"], output_dir="test")

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gp_dl-0.3.0.tar.gz (17.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gp_dl-0.3.0-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

Details for the file gp_dl-0.3.0.tar.gz.

File metadata

  • Download URL: gp_dl-0.3.0.tar.gz
  • Upload date:
  • Size: 17.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for gp_dl-0.3.0.tar.gz
Algorithm Hash digest
SHA256 1fc1f689b2a40af855a4f46130dc21a3bbb5a4408dc16908d2f20e6ff7fd7306
MD5 22d10f6372081221fa501f7f596ae059
BLAKE2b-256 a695245188c02ef770680de0bc00ae8f874468ff25a69b62fcd154bd5ef09caf

See more details on using hashes here.

File details

Details for the file gp_dl-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: gp_dl-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 18.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for gp_dl-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a8fc8e7eb635fe0429de266c41d33c7331735d1e41cdeb5862c3495d125e2145
MD5 0bfcdb46457580dbf6ba2005a3c939cc
BLAKE2b-256 0a0b34932bc621ca14014a4ac2f46e4eaa688ba2dd587b6478cf77e3f7200cf2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page