Skip to content

coflyn/scribdl-py

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Scribd Downloader (scribdl-py) 📄

Simple tool to save Scribd documents and embeds as PDF files.

Version Python License

Scribd Downloader (scribdl-py) is a CLI tool that helps you save Scribd documents and embeds into high-quality PDF files for offline reading. It uses a headless browser engine to capture every page accurately and smoothly.


⚠️ Legal Disclaimer

This tool is intended for personal archival of documents you already have legal access to. Please respect Scribd's Terms of Service and the intellectual property of the authors. The developers are not responsible for any misuse of this tool.


Key Features

  • Smart Waiting: Automatically checks if images on the page are fully loaded before capturing to prevent blank pages.
  • Auto-Organized Output: Downloaded PDFs are neatly saved into the output/ folder by default.
  • Safe Naming: Automatically sanitizes filenames so they work flawlessly across Windows, Mac, and Linux.
  • Reliable Cleanup: Temporary files are handled safely and automatically cleaned up, even if you stop the script midway.
  • High Quality: Saves pages in HD for better reading and printing.
  • Pick Pages: Download the whole file or just specific pages (e.g., 1-10).
  • Join PDF: Combines all captured pages into a single, clean PDF file.
  • History Log: Keeps a record of each download in history.json.

Installation

  1. Clone & Setup Environment

    git clone https://github.com/coflyn/scribdl-py.git
    cd scribdl-py
    python3 -m venv venv
    source venv/bin/activate
  2. Install Requirements

    pip install -r requirements.txt
    playwright install chromium

Usage

Simply run the script with the document URL:

python main.py <enter>
or
python main.py "SCRIBD_URL"

Custom Settings: All default settings can be configured in config.ini. You can also override them via CLI:

  • -o, --output: Custom output filename.
  • -p, --pages : Page selection (all or 1-10).
  • -d, --delay : Custom delay per page (seconds).
  • -s, --scale : Scale factor (1 or 2).

Example:

python main.py "https://www.scribd.com/document/..." --delay 1.0

Supported Contents

  • Scribd Document
  • Scribd Embeds

📄 License

This project is licensed under the MIT License. See the LICENSE file for details.

About

Save any Scribd document into a high-quality PDF.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages