This script allows you to download images from a Pixieset gallery, organizing them into folders by size and preserving original filenames. It will NOT download the cover image. You need to download the cover image (filename will be xxxxxx-cover-large.JPG) manually through your browser via the Network tab.
- Python 3.6 or higher
requests
library (install withpip install requests
)
- Run the script: python pixieset_downloader.py
- When prompted, enter the Pixieset gallery URL. For example: Enter the Pixieset.com URL: https://example.pixieset.com/gallerynamehere/
- Next, you'll need to find the 'cid' value. Here's how:
a. Open the Pixieset gallery URL in your web browser (Chrome recommended).
b. Press F12 to open Developer Tools.
c. Go to the Network tab in Developer Tools.
d. Reload the webpage.
e. In the Network tab, use the filter feature to search for 'loadphotos'.
f. Click on the 'loadphotos' request.
g. In the Headers view, look for a URL similar to this:
https://example.pixieset.com/client/loadphotos/?cuk=gallerynamehere&cid=XXXXXXXX&gs=highlights&page=1
h. The 'cid' value is the number after cid=
in this URL (XXXXXXXX in the example above).
-
When the script prompts for the 'cid' value, enter the number you found: Enter the 'cid' value: XXXXXXXX
-
The script will start downloading images, organizing them into folders by size (thumb, small, medium, large, xlarge, xxlarge) within a parent directory named after the photographer, gallery, and current date.
-
Once complete, you'll find a CSV file with image metadata in the parent directory.
- This script is for personal use only. Respect copyright and terms of service of Pixieset and the photographer.
- Downloading may take some time depending on the number and size of images in the gallery.
- Ensure you have permission to download the images before using this script.
If you encounter any issues:
- Make sure you're using the correct 'cid' value.
- Check your internet connection.
- Verify that the gallery is accessible in your web browser.
For any other problems, please open an issue in this repository.