Skip to content

Lysagxra/PixivDownloader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pixiv Downloader

A Python-based tool for downloading Pixiv albums. This tool reads a list of URLs from a file, checks against a record of already downloaded albums to avoid duplicates, and processes the downloads accordingly.

Demo

Features

  • Downloads multiple files concurrently.
  • Supports batch downloading via a list of URLs.
  • Tracks download progress with a progress bar.
  • Avoid duplicats by comparing URLs against a record of already downloaded albums.
  • Automatically creates a directory structure for organized storage.

Dependencies

  • Python 3
  • Pillow - for image processing and manipulation.
  • BeautifulSoup (bs4) - for HTML parsing
  • requests - for HTTP requests
  • rich - for progress display in the terminal.

Directory Structure

project-root/
├── helpers/
│ ├── download_utils.py     # Utilities for managing the download process
│ ├── file_utils.py         # Utilities for managing file operations
│ ├── general_utils.py      # Miscellaneous utility functions
│ ├── pixiv_utils           # Functions for handling Pixiv-related tasks
│ └── progress_utils.py     # Tools for progress tracking and reporting
├── album_downloader.py     # Module for downloading Pixiv albums
├── main.py                 # Main script to run the downloader
├── URLs.txt                # Text file containing album URLs
└── already_downloaded.txt  # File to record downloaded albums

Installation

  1. Clone the repository:
git clone https://github.com/Lysagxra/PixivDownloader.git
  1. Navigate to the project directory:
cd PixivDownloader
  1. Install the required dependencies:
pip install -r requirements.txt

Single Album Download

To download a single album from an URL, you can use album_downloader.py, running the script with a valid album URL.

Usage

python3 album_downloader.py <album_url>

Example

python3 album_downloader.py https://www.pixiv.net/en/artworks/122835267

Batch Download

To batch download from multiple album URLs, you can use the main.py script. This script reads URLs from a file named URLs.txt and downloads each one using the album downloader.

Usage

  1. Create a file named URLs.txt in the root of your project, listing each URL on a new line.
  • Example of URLs.txt:
https://www.pixiv.net/en/artworks/123398947
https://www.pixiv.net/en/artworks/123399029
https://www.pixiv.net/en/artworks/123399604
  • Ensure that each URL is on its own line without any extra spaces.
  • You can add as many URLs as you need, following the same format.
  1. Run the batch download script:
python3 main.py
  1. The downloaded files will be saved in the Downloads directory.

Logging

The application append the downloaded albums in a file named already_downloaded.txt to avoid duplicates.