Git Product home page Git Product logo

scribd-downloader's Introduction

Scribd-Downloader

Repository is unsupported

You could make changes via PR

♥ Please Donate for code♥: * btc: 1LbvwDevv53uj1isVDficH6c1qhxBwH6DQ * eth: 0xE1489B14D96A0b1fb24D0Ce37Af7F599B345e46E * USDT-TRX: TUgNK9D8Y9rUyPgCL56vQ7YUVB3ei8qBzK

“Buy Me A Coffee”


PyPi Version Build Status Coverage Status

(I also found an online service https://dlscrib.com/ created by Erik Fong. It doesn't use this script as some people seem to think!).

Current features:

Type Downloadable without Scribd premium Requires Scribd premium for full download
Documents Yes No
Books Yes Yes
Audiobooks Yes Yes

Some information about Scribd documents:

There are two types of documents on Scribd:

  • Documents made up using a collection of images and
  • Actual documents where the text can be selected, copied etc.

This script takes a different approach to both of them:

  • Documents consisting of a collection of images is straightforward and this script will simply download the induvidual images which can be combined to .pdf by passing --pdf option to the tool. Simple.
  • Actual documents where the text can be selected are hard to tackle. If we feed such a document to this tool, only the text present in document will be downloaded. Scribd seems to use javascript to somehow combine text and images. So far, I haven't been able to combine them with Python in a way they look like the original document.

Installation

Make sure you're using Python 3 (Python 2 is not supported by a few dependencies). Then run these commands:

**macOS prerequisites for md2pdf / cairo

$ brew install cairo
$ brew install pango
$ brew install libmagic
$ brew install gtk+

Make sure you python Pillow is up to date > 6

$ python3 -m pip install --upgrade pip
$ python3 -m pip install --upgrade Pillow
$ pip install scribd-downloader

or install the development version with:

$ python setup.py install

Usage

usage: scribdl [-h] [-i] [-p] URL

Download documents and books from scribd.com

positional arguments:
  URL           scribd url to download

optional arguments:
  -h, --help    show this help message and exit
  -i, --images  download url made up of images
  -p, --pdf     convert to pdf (*Nix: imagemagick)
  -c CREDENTIALS_FILE, --credentials-file CREDENTIALS_FILE
                        path to file containing your Scribd premium
                        credentials

Examples

Scribd Documents

Downloading text from document containing selectable text:

$ scribdl https://www.scribd.com/document/55949937/33-Strategies-of-War

(Text will be saved side by side in a .md file in the current working directory)

Download document containing images; use the --images option (the tool cannot figure out this on its own):

$ scribdl -i https://scribd.com/doc/17142797/Case-in-Point

(Images will be saved in the current working directory)

Scribd Books

The below command will generate an .md file of the book in the current working directory:

$ scribdl https://www.scribd.com/read/189087235/Confessions-of-a-Casting-Director-Help-Actors-Land-Any-Role-with-Secrets-from-Inside-the-Audition-Room

Pass --pdf option to convert the generated output to a PDF.

This will only dowload the book content available without owning a premium account on Scribd. See the below section for downloading full books if you own a premium Scribd account.

Scribd Audiobooks

This will download .mp3 of the audiobook:

$ scribdl https://www.scribd.com/audiobook/237606860/100-Ways-to-Motivate-Yourself-Change-Your-Life-Forever

This will only download the preview version of the audiobook. See the below section for downloading complete audiobooks if you own a premium Scribd account.

Downloading complete textual books and audiobooks

If you have a premium Scribd account, you can also download the full version of textual books and audiobooks.

Create a text file containing your Scribd credentials, such that the contents of the file look like below:

[email protected]
password

Now pass the file path to the -c option, for example:

$ scribdl -c scribd_credentials.txt https://www.scribd.com/audiobook/359295794/Principles-Life-and-Work

It should then download you all the audiobook chapters as mp3. Similarly, you could also download complete contents of a Scribd book by replacing the URL with the URL of your choice.

If you're not willing to use place your account credentials in a file, you could also copy the cookie values for _scribd_session and _scribd_expire when logged into your premium account on scribd on the web browser and replace them with the ones in this file https://github.com/ritiek/scribd-downloader/blob/master/scribdl/const.py.

You should then be able to automatically download full version of both textual books and audiobooks from Scribd using the tool by running the commands as usual.

If you have troubles with croped images in pdf use command

cd dir_with_all_image_files && img2pdf $(ls -tr *.jpg) -o path_to_pdf_output_file.pdf

Disclaimer

Downloading books from Scribd for free maybe prohibited. This tool is meant for educational purposes only. Please support the authors by buying their titles.

License

The MIT License

scribd-downloader's People

Contributors

johndpope avatar mtae avatar phoenix124 avatar rubencanovaca avatar siilky avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

scribd-downloader's Issues

this error...

Traceback (most recent call last):
File "C:\Python37\Scripts\scribdl-script.py", line 11, in
load_entry_point('scribd-downloader==1.3.1', 'console_scripts', 'scribdl')()
File "C:\Python37\lib\site-packages\pkg_resources_init_.py", line 489, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "C:\Python37\lib\site-packages\pkg_resources_init_.py", line 2793, in load_entry_point
return ep.load()
File "C:\Python37\lib\site-packages\pkg_resources_init_.py", line 2411, in load
return self.resolve()
File "C:\Python37\lib\site-packages\pkg_resources_init_.py", line 2417, in resolve
module = import(self.module_name, fromlist=['name'], level=0)
File "C:\Python37\scribdl_init_.py", line 3, in
from .downloader import Downloader
File "C:\Python37\scribdl\downloader.py", line 9, in
from .pdf_converter import ConvertToPDF
File "C:\Python37\scribdl\pdf_converter.py", line 1, in
from md2pdf.core import md2pdf
File "C:\Python37\lib\site-packages\md2pdf-0.4-py3.7.egg\md2pdf_init_.py", line 3, in
from md2pdf.core import (
File "C:\Python37\lib\site-packages\md2pdf-0.4-py3.7.egg\md2pdf\core.py", line 3, in
from weasyprint import HTML, CSS
File "C:\Python37\lib\site-packages\weasyprint-51-py3.7.egg\weasyprint_init_.py", line 440, in
from .css import preprocess_stylesheet # noqa isort:skip
File "C:\Python37\lib\site-packages\weasyprint-51-py3.7.egg\weasyprint\css_init_.py", line 30, in
from . import computed_values, media_queries
File "C:\Python37\lib\site-packages\weasyprint-51-py3.7.egg\weasyprint\css\computed_values.py", line 18, in
from .. import text
File "C:\Python37\lib\site-packages\weasyprint-51-py3.7.egg\weasyprint\text.py", line 14, in
import cairocffi as cairo
File "C:\Python37\lib\site-packages\cairocffi-1.1.0-py3.7.egg\cairocffi_init_.py", line 50, in
('libcairo.so', 'libcairo.2.dylib', 'libcairo-2.dll'))
File "C:\Python37\lib\site-packages\cairocffi-1.1.0-py3.7.egg\cairocffi_init_.py", line 45, in dlopen
raise OSError(error_message) # pragma: no cover
OSError: no library called "cairo" was found
no library called "libcairo-2" was found
cannot load library 'libcairo.so': error 0x7e
cannot load library 'libcairo.2.dylib': error 0x7e
cannot load library 'libcairo-2.dll': error 0x7e

"No more content being exposed by Scribd!"

When I run, for example

scribdl https://www.scribd.com/read/481551943/Mario-Cuomo-The-Myth-and-the-Man

it'll download the first chapter or so, but give this error: "No more content being exposed by Scribd!"

However, on the website I can flip through the whole book.

I'm using master (be0f3c3) with Python 3.10.

error

hello after installed everything i am getting these errors
i have created text file but i dont know in which directory i should save this scribd_credentials.txt
kindly help me to solve it
PS C:\Users\vicky> scribdl -c scribd_credentials.txt https://www.scribd.com/audiobook/359295794/Principles-Life-and-Work
Fontconfig error: Cannot load default config file
C:\Users\vicky\AppData\Local\Programs\Python\Python36\lib\site-packages\weasyprint\fonts.py:217: UserWarning: @font-face not supported: FontConfig cannot load default config file
'@font-face not supported: '
C:\Users\vicky\AppData\Local\Programs\Python\Python36\lib\site-packages\weasyprint\fonts.py:455: UserWarning: Expect ugly output with font-size: 0
warnings.warn('Expect ugly output with font-size: 0')
C:\Users\vicky\AppData\Local\Programs\Python\Python36\lib\site-packages\weasyprint\document.py:36: UserWarning: There are known rendering problems and missing features with cairo < 1.15.4. WeasyPrint may work with older versions, but please read the note about the needed cairo version on the "Install" page of the documentation before reporting bugs. http://weasyprint.readthedocs.io/en/latest/install.html
'There are known rendering problems and missing features with '
Traceback (most recent call last):
File "C:\Users\vicky\AppData\Local\Programs\Python\Python36\Scripts\scribdl-script.py", line 33, in
sys.exit(load_entry_point('scribd-downloader==1.3.1', 'console_scripts', 'scribdl')())
File "C:\Users\vicky\AppData\Local\Programs\Python\Python36\lib\site-packages\scribd_downloader-1.3.1-py3.6.egg\scribdl\command_line.py", line 51, in _command_line
File "C:\Users\vicky\AppData\Local\Programs\Python\Python36\lib\site-packages\scribd_downloader-1.3.1-py3.6.egg\scribdl\authorize.py", line 27, in set_credentials
FileNotFoundError: [Errno 2] No such file or directory: 'scribd_credentials.txt'

Encoding errors

I can't download the books

Follow the errors

Books I tried to download
https://en.scribd.com/read/375814859/Injusticia-epistemica
https://en.scribd.com/read/470645698/O-Direito-e-Suas-Interfaces-com-a-Psicologia-e-a-Neurociencia
https://www.scribd.com/read/460369898/Somos-nosso-cerebro-Neurociencias-subjetividade-cultura

Captura de Tela (236)
Captura de Tela (237)

I only succeeded in downloading a book (since it is mostly composed of images), however when it came to transforming into .PDF a new error occurred:

Link: https://en.scribd.com/read/419837886/Big-Book-of-TV-Theme-Songs-2nd-Edition

Captura de Tela (238)

ADDED: I managed to convert .md to .pdf with md-to-pdf
3.1.1
https://www.npmjs.com/package/md-to-pdf

Not downloaded complete

Not downloaded complete document even though provided credentials. Also issue with fonts for other languages.

Login error

Thank you for creating this wonderful tool!

Received following error: scribdl.exceptions.ScribdFetchError: Login error: An error occurred please try again.

Scribd now prompt you to login with gmail account, and you have to select 'login with email' to be directed to the page where you can put your login credential. Not sure if related to the problem or not.

Issue OSError: cannot load library 'gobject-2.0-0'

Traceback (most recent call last):
File "C:\Python39\Scripts\scribdl-script.py", line 33, in
sys.exit(load_entry_point('scribd-downloader==1.3.1', 'console_scripts', 'scribdl')())
File "C:\Python39\Scripts\scribdl-script.py", line 25, in importlib_load_entry_point
return next(matches).load()
File "C:\Python39\lib\importlib\metadata.py", line 77, in load
module = import_module(match.group('module'))
File "C:\Python39\lib\importlib_init_.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1030, in _gcd_import
File "", line 1007, in _find_and_load
File "", line 972, in _find_and_load_unlocked
File "", line 228, in _call_with_frames_removed
File "", line 1030, in _gcd_import
File "", line 1007, in _find_and_load
File "", line 986, in _find_and_load_unlocked
File "", line 664, in _load_unlocked
File "", line 627, in load_backward_compatible
File "", line 259, in load_module
File "C:\Python39\lib\site-packages\scribd_downloader-1.3.1-py3.9.egg\scribdl_init
.py", line 3, in
File "", line 1007, in _find_and_load
File "", line 986, in _find_and_load_unlocked
File "", line 664, in _load_unlocked
File "", line 627, in _load_backward_compatible
File "", line 259, in load_module
File "C:\Python39\lib\site-packages\scribd_downloader-1.3.1-py3.9.egg\scribdl\downloader.py", line 9, in
File "", line 1007, in _find_and_load
File "", line 986, in find_and_load_unlocked
File "", line 664, in load_unlocked
File "", line 627, in load_backward_compatible
File "", line 259, in load_module
File "C:\Python39\lib\site-packages\scribd_downloader-1.3.1-py3.9.egg\scribdl\pdf_converter.py", line 1, in
File "C:\Python39\lib\site-packages\md2pdf-0.5-py3.9.egg\md2pdf_init
.py", line 8, in
from md2pdf.core import md2pdf # noqa
File "C:\Python39\lib\site-packages\md2pdf-0.5-py3.9.egg\md2pdf\core.py", line 5, in
from weasyprint import HTML, CSS
File "C:\Python39\lib\site-packages\weasyprint-53.3-py3.9.egg\weasyprint_init
.py", line 322, in
from .css import preprocess_stylesheet # noqa isort:skip
File "C:\Python39\lib\site-packages\weasyprint-53.3-py3.9.egg\weasyprint\css_init.py", line 27, in
from . import computed_values, counters, media_queries
File "C:\Python39\lib\site-packages\weasyprint-53.3-py3.9.egg\weasyprint\css\computed_values.py", line 16, in
from ..text.ffi import ffi, pango, units_to_double
File "C:\Python39\lib\site-packages\weasyprint-53.3-py3.9.egg\weasyprint\text\ffi.py", line 380, in
gobject = _dlopen(
File "C:\Python39\lib\site-packages\weasyprint-53.3-py3.9.egg\weasyprint\text\ffi.py", line 377, in _dlopen
return ffi.dlopen(names[0]) # pragma: no cover
File "C:\Python39\lib\site-packages\cffi-1.15.0rc1-py3.9-win-amd64.egg\cffi\api.py", line 150, in dlopen
lib, function_cache = _make_ffi_library(self, name, flags)
File "C:\Python39\lib\site-packages\cffi-1.15.0rc1-py3.9-win-amd64.egg\cffi\api.py", line 832, in _make_ffi_library
backendlib = _load_backend_lib(backend, libname, flags)
File "C:\Python39\lib\site-packages\cffi-1.15.0rc1-py3.9-win-amd64.egg\cffi\api.py", line 827, in _load_backend_lib
raise OSError(msg)
OSError: cannot load library 'gobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'gobject-2.0-0'

trying to install it on macos

I get this error: ERROR: Could not find a version that satisfies the requirement scribd-downloader
ERROR: No matching distribution found for scribd-downloader

this still works? april 8th 2021

I managed to follow all the steps prior to the installation of scribd-downloader.

I'm using linuxmint and when i tried: $ pip install scribd-downloader, it says "bash: pip: command not found".
then I followed some advice online an changed pip with pip3, resulting "pip3 install scribd-downloader"
and then the error message changed to: " ERROR: Could not find a version that satisfies the requirement scribd-downloader
ERROR: No matching distribution found for scribd-downloader"

So now I'm just curious if this downloader is still working or not. or maybe I have to change other stuff in the command lines.
Thanks!

KeyError: 'class'

Python Version : 3.9.4
Scridbdl Version : Latest Version
Mac OS : 10.15.7
Scribd Premium Account
Command :
~ % scribdl -c Sites/scribd-downloader/scribd_credentials.txt https://www.scribd.com/book/253264900/Sapiens-A-Brief-History-of-Humankind

Output:
Traceback (most recent call last):
File "/usr/local/bin/scribdl", line 33, in
sys.exit(load_entry_point('scribd-downloader==1.3.1', 'console_scripts', 'scribdl')())
File "/usr/local/lib/python3.9/site-packages/scribd_downloader-1.3.1-py3.9.egg/scribdl/command_line.py", line 53, in _command_line
File "/usr/local/lib/python3.9/site-packages/scribd_downloader-1.3.1-py3.9.egg/scribdl/downloader.py", line 28, in init
File "/usr/local/lib/python3.9/site-packages/scribd_downloader-1.3.1-py3.9.egg/scribdl/downloader.py", line 97, in is_book
File "/usr/local/lib/python3.9/site-packages/beautifulsoup4-4.9.3-py3.9.egg/bs4/element.py", line 1406, in getitem
return self.attrs[key]
KeyError: 'class'

Setup gone wrong!?

I got this error when trying to run script
image
Any solution, please help!!

Can't download documents (books works)

Hi.

With this command:
scribdl https://scribd.com/document/469770393/Exam-Ref-AZ-900-Microsoft-Azure-Fundamentals-by-Jim-Cheshire-z-lib-org

I get this output in the shell:

Extracting text to Exam_Ref_AZ-900_Microsoft_Azure_Fundamentals_by_Jim_Cheshire 

Bjetket
s
0. 
Bjvkr ^`ik
4. 
]ftck ^`ik
2. 
Bjpyrfilt ^`ik
=. 
Mkmfb`tfje ^`ik
;. 
Bjetkets `t 
` ic`ebk
7. 
Bjetkets
9. 
 @baejwckmihkets
<. 
 @djut tlk @utlj
r
6. 
Fetrjmubtfje
0. 
Jri`efz`tf
je jg tlfs djja 
4. 
Hfbrjsjgt 
bkrtfgfb`tfjes
2. 
Pufba `bbkss tj jecfek rkgkrkebks
=. 
Krr`t`, upm`tks, & djja suppjrt
;. 
Rt`y fe tju
bl
0>. 
^rkp`rfei gjr tlk kx`h
00. 
Bl`ptkr 0. [emk
rst`em bcjum bjeb
kpts
0. 
Rafcc 0.0? Mksbrfdk tlk dkekgfts `em bjesfmkr`tfjes jg usfei bcjum
skrvfb
ks
4. 
Rafcc 0.4? Mksbrfdk tlk mfggkrkebks dktwkke Fegr`strubturk-`s-`-
Rkrvfbk (F``R), ^c`tgjrh-`s-`-Rkrvfbk (^``R), `em Rjgtw`rk-`s-`-
Rkrvfbk (R``R)
2. 
Rafcc 0.
2? Mksbrfdk 
tlk mfggkrkebks dktwkke pudcfb, prfv`tk, `em

Incomplete Downloads

Tested with a few books, with the -i option. It looks like the site is returning 403 after between 5 and 10 pages. I can read the same books from beginning to end in the reader.

Error with _scribd_expire

`
File "/anaconda3/envs/scribd/lib/python3.7/site-packages/scribd_downloader-1.3.1-py3.7.egg/scribdl/authorize.py", line 42, in set_credentials
File "/anaconda3/envs/scribd/lib/python3.7/site-packages/requests/cookies.py", line 328, in getitem
return self._find_no_duplicates(name)
File "/anaconda3/envs/scribd/lib/python3.7/site-packages/requests/cookies.py", line 399, in _find_no_duplicates
raise KeyError('name=%r, domain=%r, path=%r' % (name, domain, path))
KeyError: "name='_scribd_expire', domain=None, path=None"

`
response.cookies doesn't have this _scribd_expire key, only _scribd_session.

[Linux] Script only downloads the first page

Hi.

I'm on Linux Mint 20.1. I made a new environment on my anaconda installation just for this script. I believe Mint ships with all the prerequisites by default, but I'm dealing with an unexpected error. After running the examples (scribdl https://www.scribd.com/document/55949937/33-Strategies-of-War and scribdl -i https://scribd.com/doc/17142797/Case-in-Point) I noticed that, in the first case, only the first few pages were converted to text in the output .md file and that, in the latter, only the first page was downloaded. Am I missing something?

Thanks.

EDIT: after looking around the other open issues, it seems that this issue is in fact independent of the OS, as this user details the exact same issue I have. Apparently, this tool is not currently working for generic document downloading, though it might still work on books.

Library gobject-2.0-0 not found

The downloader throws this error every time I try to download anything

OSError: cannot load library 'gobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'gobject-2.0-0'

Downloader Won't Even Install

When I Try The Install Command It Shows This In Red...

Could not find a version that satisfies the requirement scribd-downloader (from versions: none)
ERROR: No matching distribution found for scribd-downloader
Screenshot_1

Having trouble getting this to work

I'm not sure if this method still works or not or maybe if need to be using an older version of python? But, whenever I do put in any command line it gives me "SyntaxError: invalid syntax" back. I ran the set up but I'm still not sure if what's the problem is.

Not able to convert to pdf

I ran this command and I get the below error.
scribdl -p https://www.scribd.com/read/189087235/Confessions-of-a-Casting-Director-Help-Actors-Land-Any-Role-with-Secrets-from-Inside-the-Audition-Room
Error:

 File "C:\Users\Raghav\AppData\Local\Programs\Python\Python38\lib\codecs.py", line 504, in read
    newchars, decodedbytes = self.decode(data, self.errors)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x92 in position 642: invalid start byte

[feature request]use a proxy

Since I have to use a proxy to visit scribd, this script can download nothing from my web connection. So could you please add the option which can use a web connection proxy to download files? Thanks

can't get this to work

scribdl -i -c cred.txt https://www.scribd.com/book/272741038/Michael-Buble-Let-It-Snow --pdf
(base) ➜ scribd-downloader git:(master) ✗ scribdl -i -c cred.txt https://www.scribd.com/book/272741038/Michael-Buble-Let-It-Snow --pdf

Converting to Michael_Bublé_-_Let_It_Snow.pdf..
Traceback (most recent call last):
File "/Users/admin/miniconda3/bin/scribdl", line 11, in
load_entry_point('scribd-downloader==1.3.1', 'console_scripts', 'scribdl')()
File "/Users/admin/miniconda3/lib/python3.7/site-packages/scribd_downloader-1.3.1-py3.7.egg/scribdl/command_line.py", line 57, in _command_line
File "/Users/admin/miniconda3/lib/python3.7/site-packages/scribd_downloader-1.3.1-py3.7.egg/scribdl/pdf_converter.py", line 29, in to_pdf
File "/Users/admin/miniconda3/lib/python3.7/site-packages/scribd_downloader-1.3.1-py3.7.egg/scribdl/pdf_converter.py", line 47, in _images_to_pdf
File "/Users/admin/miniconda3/lib/python3.7/site-packages/img2pdf-0.4.0-py3.7.egg/img2pdf.py", line 2084, in convert
File "/Users/admin/miniconda3/lib/python3.7/site-packages/img2pdf-0.4.0-py3.7.egg/img2pdf.py", line 955, in tostring
File "/Users/admin/miniconda3/lib/python3.7/site-packages/img2pdf-0.4.0-py3.7.egg/img2pdf.py", line 1049, in tostream
IndexError: Accessing nonexistent PDF page number
(base) ➜ scribd-downloader git:(master) ✗ l

audiobooks, wrong password

I wonder if script still works. It shows login/password error, however credentials are correct.
image

Thank you for helping!

Credentials issue

Credentials aren't working. Not sure why, error gives no hints. The credentials file exists (it gives a different error when I remove it) and doesn't seem to be a permissions issue, doesn't work with sudo either.

(main) swift@taylor ~ % scribdl -c scribd_credentials.txt https://www.scribd.com/read/332994411/The-Three-Body-Problem
/Users/swift/venv/main/lib/python3.9/site-packages/cryptography/hazmat/backends/openssl/x509.py:15: CryptographyDeprecationWarning: This version of cryptography contains a temporary pyOpenSSL fallback path. Upgrade pyOpenSSL now.
  warnings.warn(
Traceback (most recent call last):
  File "/Users/swift/venv/main/bin/scribdl", line 33, in <module>
    sys.exit(load_entry_point('scribd-downloader==1.3.1', 'console_scripts', 'scribdl')())
  File "/Users/swift/venv/main/lib/python3.9/site-packages/scribd_downloader-1.3.1-py3.9.egg/scribdl/command_line.py", line 51, in _command_line
  File "/Users/swift/venv/main/lib/python3.9/site-packages/scribd_downloader-1.3.1-py3.9.egg/scribdl/authorize.py", line 55, in set_credentials
scribdl.exceptions.ScribdFetchError: Login error: An error occurred please try again.

Audiobook's Error

My Command

scribdl -c scribd_credentials.txt "https://www.scribd.com/audiobook/xxxxx/abc"

Error:

Traceback (most recent call last):
File "/usr/local/bin/scribdl", line 33, in
sys.exit(load_entry_point('scribd-downloader==1.3.1', 'console_scripts', 'scribdl')())
File "/usr/local/lib/python3.7/dist-packages/scribd_downloader-1.3.1-py3.7.egg/scribdl/command_line.py", line 54, in _command_line
File "/usr/local/lib/python3.7/dist-packages/scribd_downloader-1.3.1-py3.7.egg/scribdl/downloader.py", line 39, in download
File "/usr/local/lib/python3.7/dist-packages/scribd_downloader-1.3.1-py3.7.egg/scribdl/downloader.py", line 84, in _download_audiobook
File "/usr/local/lib/python3.7/dist-packages/scribd_downloader-1.3.1-py3.7.egg/scribdl/content/audiobook.py", line 216, in playlist
File "/usr/local/lib/python3.7/dist-packages/scribd_downloader-1.3.1-py3.7.egg/scribdl/content/audiobook.py", line 286, in make_playlist
File "/usr/local/lib/python3.7/dist-packages/scribd_downloader-1.3.1-py3.7.egg/scribdl/content/audiobook.py", line 205, in premium_cookies
File "/usr/local/lib/python3.7/dist-packages/scribd_downloader-1.3.1-py3.7.egg/scribdl/content/audiobook.py", line 177, in license_id
File "/usr/local/lib/python3.7/dist-packages/scribd_downloader-1.3.1-py3.7.egg/scribdl/content/audiobook.py", line 225, in _get_license_id
File "/usr/local/lib/python3.7/dist-packages/scribd_downloader-1.3.1-py3.7.egg/scribdl/content/audiobook.py", line 167, in license_url
File "/usr/local/lib/python3.7/dist-packages/scribd_downloader-1.3.1-py3.7.egg/scribdl/content/audiobook.py", line 158, in author_id
File "/usr/local/lib/python3.7/dist-packages/scribd_downloader-1.3.1-py3.7.egg/scribdl/content/audiobook.py", line 106, in audiobook_keys
File "/usr/local/lib/python3.7/dist-packages/scribd_downloader-1.3.1-py3.7.egg/scribdl/content/audiobook.py", line 247, in _scrape_audiobook_page
TypeError: 'NoneType' object is not subscriptable

Failed pdf conversion

Following Error:-

Completed downloading book!

Converting to Motor_xyz.pdf..
Traceback (most recent call last):
File "/usr/local/bin/scribdl", line 33, in
sys.exit(load_entry_point('scribd-downloader==1.3.1', 'console_scripts', 'scribdl')())
File "/usr/local/lib/python3.7/dist-packages/scribd_downloader-1.3.1-py3.7.egg/scribdl/command_line.py", line 57, in _command_line
File "/usr/local/lib/python3.7/dist-packages/scribd_downloader-1.3.1-py3.7.egg/scribdl/pdf_converter.py", line 31, in to_pdf
File "/usr/local/lib/python3.7/dist-packages/scribd_downloader-1.3.1-py3.7.egg/scribdl/pdf_converter.py", line 39, in _markdown_to_pdf
File "/usr/local/lib/python3.7/dist-packages/md2pdf-0.5-py3.7.egg/md2pdf/core.py", line 49, in md2pdf
html.write_pdf(pdf_file_path, stylesheets=css)
File "/usr/local/lib/python3.7/dist-packages/weasyprint-53.0-py3.7.egg/weasyprint/init.py", line 183, in write_pdf
counter_style=counter_style, image_cache=image_cache)
File "/usr/local/lib/python3.7/dist-packages/weasyprint-53.0-py3.7.egg/weasyprint/init.py", line 136, in render
optimize_size, font_config, counter_style, image_cache)
File "/usr/local/lib/python3.7/dist-packages/weasyprint-53.0-py3.7.egg/weasyprint/document.py", line 885, in _render
[Page(page_box) for page_box in page_boxes],
File "/usr/local/lib/python3.7/dist-packages/weasyprint-53.0-py3.7.egg/weasyprint/document.py", line 885, in
[Page(page_box) for page_box in page_boxes],
File "/usr/local/lib/python3.7/dist-packages/weasyprint-53.0-py3.7.egg/weasyprint/layout/init.py", line 124, in layout_document
pages = list(make_all_pages(context, root_box, html, pages))
File "/usr/local/lib/python3.7/dist-packages/weasyprint-53.0-py3.7.egg/weasyprint/layout/pages.py", line 802, in make_all_pages
page, resume_at = remake_page(i, context, root_box, html)
File "/usr/local/lib/python3.7/dist-packages/weasyprint-53.0-py3.7.egg/weasyprint/layout/pages.py", line 741, in remake_page
page_number, page_state)
File "/usr/local/lib/python3.7/dist-packages/weasyprint-53.0-py3.7.egg/weasyprint/layout/pages.py", line 552, in make_page
positioned_boxes, adjoining_margins, discard=False)
File "/usr/local/lib/python3.7/dist-packages/weasyprint-53.0-py3.7.egg/weasyprint/layout/blocks.py", line 60, in block_level_layout
page_is_empty, absolute_boxes, fixed_boxes, adjoining_margins, discard)
File "/usr/local/lib/python3.7/dist-packages/weasyprint-53.0-py3.7.egg/weasyprint/layout/blocks.py", line 75, in block_level_layout_switch
discard)
File "/usr/local/lib/python3.7/dist-packages/weasyprint-53.0-py3.7.egg/weasyprint/layout/blocks.py", line 128, in block_box_layout
absolute_boxes, fixed_boxes, adjoining_margins, discard)
File "/usr/local/lib/python3.7/dist-packages/weasyprint-53.0-py3.7.egg/weasyprint/layout/blocks.py", line 520, in block_container_layout
absolute_boxes, fixed_boxes, adjoining_margins, discard)
File "/usr/local/lib/python3.7/dist-packages/weasyprint-53.0-py3.7.egg/weasyprint/layout/blocks.py", line 60, in block_level_layout
page_is_empty, absolute_boxes, fixed_boxes, adjoining_margins, discard)
File "/usr/local/lib/python3.7/dist-packages/weasyprint-53.0-py3.7.egg/weasyprint/layout/blocks.py", line 75, in block_level_layout_switch
discard)
File "/usr/local/lib/python3.7/dist-packages/weasyprint-53.0-py3.7.egg/weasyprint/layout/blocks.py", line 128, in block_box_layout
absolute_boxes, fixed_boxes, adjoining_margins, discard)
File "/usr/local/lib/python3.7/dist-packages/weasyprint-53.0-py3.7.egg/weasyprint/layout/blocks.py", line 520, in block_container_layout
absolute_boxes, fixed_boxes, adjoining_margins, discard)
File "/usr/local/lib/python3.7/dist-packages/weasyprint-53.0-py3.7.egg/weasyprint/layout/blocks.py", line 60, in block_level_layout
page_is_empty, absolute_boxes, fixed_boxes, adjoining_margins, discard)
File "/usr/local/lib/python3.7/dist-packages/weasyprint-53.0-py3.7.egg/weasyprint/layout/blocks.py", line 75, in block_level_layout_switch
discard)
File "/usr/local/lib/python3.7/dist-packages/weasyprint-53.0-py3.7.egg/weasyprint/layout/blocks.py", line 128, in block_box_layout
absolute_boxes, fixed_boxes, adjoining_margins, discard)
File "/usr/local/lib/python3.7/dist-packages/weasyprint-53.0-py3.7.egg/weasyprint/layout/blocks.py", line 379, in block_container_layout
for i, (line, resume_at) in enumerate(lines_iterator):
File "/usr/local/lib/python3.7/dist-packages/weasyprint-53.0-py3.7.egg/weasyprint/layout/inlines.py", line 50, in iter_line_boxes
absolute_boxes, fixed_boxes, first_letter_style)
File "/usr/local/lib/python3.7/dist-packages/weasyprint-53.0-py3.7.egg/weasyprint/layout/inlines.py", line 178, in get_next_linebox
line_children=[])
File "/usr/local/lib/python3.7/dist-packages/weasyprint-53.0-py3.7.egg/weasyprint/layout/inlines.py", line 1059, in split_inline_box
line_height, new_box.baseline = strut_layout(box.style, context)
File "/usr/local/lib/python3.7/dist-packages/weasyprint-53.0-py3.7.egg/weasyprint/css/computed_values.py", line 730, in strut_layout
layout = Layout(context, style['font_size'], style)
File "/usr/local/lib/python3.7/dist-packages/weasyprint-53.0-py3.7.egg/weasyprint/text/line_break.py", line 84, in init
self.setup(context, font_size, style)
File "/usr/local/lib/python3.7/dist-packages/weasyprint-53.0-py3.7.egg/weasyprint/text/line_break.py", line 100, in setup
pango.pango_context_set_round_glyph_positions(pango_context, False)
File "/usr/local/lib/python3.7/dist-packages/cffi/api.py", line 912, in getattr
make_accessor(name)
File "/usr/local/lib/python3.7/dist-packages/cffi/api.py", line 908, in make_accessor
accessorsname
File "/usr/local/lib/python3.7/dist-packages/cffi/api.py", line 838, in accessor_function
value = backendlib.load_function(BType, name)
AttributeError: function/symbol 'pango_context_set_round_glyph_positions' not found in library 'libpango-1.0.so.0': /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0: undefined symbol: pango_context_set_round_glyph_positions

Script can't download full books anymore (only docs)

I installed it correctly (both Mac and Linux) and followed the tutorial. Works perfectly for docs (like the example in the documentation), but not for books (even when I provide my login details in a TXT). Seems like something changed in the authentication method by Scribd, but cannot confirm.

Audiobook download issue

Getting this error:
Traceback (most recent call last): File "C:\Users\A\AppData\Local\Programs\Python\Python310\Scripts\scribdl-script.py", line 33, in <module> sys.exit(load_entry_point('scribd-downloader==1.3.1', 'console_scripts', 'scribdl')()) File "C:\Users\A\AppData\Local\Programs\Python\Python310\lib\site-packages\scribdl\command_line.py", line 54, in _command_line downloaded_content = scribd_link.download(is_image_document=images) File "C:\Users\A\AppData\Local\Programs\Python\Python310\lib\site-packages\scribdl\downloader.py", line 39, in download content = self._download_audiobook() File "C:\Users\A\AppData\Local\Programs\Python\Python310\lib\site-packages\scribdl\downloader.py", line 84, in _download_audiobook playlist = audiobook.playlist File "C:\Users\A\AppData\Local\Programs\Python\Python310\lib\site-packages\scribdl\content\audiobook.py", line 216, in playlist self._playlist = Playlist(self.title, self.make_playlist()) File "C:\Users\A\AppData\Local\Programs\Python\Python310\lib\site-packages\scribdl\content\audiobook.py", line 286, in make_playlist if self.premium_cookies: File "C:\Users\A\AppData\Local\Programs\Python\Python310\lib\site-packages\scribdl\content\audiobook.py", line 205, in premium_cookies premium_cookies = bool(self.license_id) File "C:\Users\A\AppData\Local\Programs\Python\Python310\lib\site-packages\scribdl\content\audiobook.py", line 177, in license_id self._license_id = self._get_license_id() File "C:\Users\A\AppData\Local\Programs\Python\Python310\lib\site-packages\scribdl\content\audiobook.py", line 225, in _get_license_id response = requests.get(self.license_url, headers=self.headers) File "C:\Users\A\AppData\Local\Programs\Python\Python310\lib\site-packages\scribdl\content\audiobook.py", line 167, in license_url return "https://api.findawayworld.com/v4/accounts/scribd-{0}/audiobooks/{1}".format(self.author_id, self.book_id) File "C:\Users\A\AppData\Local\Programs\Python\Python310\lib\site-packages\scribdl\content\audiobook.py", line 158, in author_id audiobook = self.audiobook_keys File "C:\Users\A\AppData\Local\Programs\Python\Python310\lib\site-packages\scribdl\content\audiobook.py", line 106, in audiobook_keys audiobook_keys = self._scrape_audiobook_page() File "C:\Users\A\AppData\Local\Programs\Python\Python310\lib\site-packages\scribdl\content\audiobook.py", line 247, in _scrape_audiobook_page text = json.loads(div_tag["data-push_state"]) TypeError: 'NoneType' object is not subscriptable

What i'm doing wrong ?

Microsoft Windows [Version 10.0.19043.1052]
(c) Microsoft Corporation. All rights reserved.

C:\Users\DAISY>cd C:\PythonProjects\scribd-downloader-master

C:\PythonProjects\scribd-downloader-master>scribdl https://www.scribd.com/document/55949937/33-Strategies-of-War
'scribdl' is not recognized as an internal or external command,
operable program or batch file.

C:\PythonProjects\scribd-downloader-master>

full book problem

hello did anyone notice that script is not downloading big books which have more than 500 pages
specially computer related books
i tried many books but all cannot download full book using this script
please suggest me if anyone know about that issue

No matching distribution found for scribd-downloader

On pip install scribd-downloader

ERROR: Could not find a version that satisfies the requirement scribd-downloader (from versions: none)
ERROR: No matching distribution found for scribd-downloader

Latest version of pip and pollow installed
version python: 3.12.2
Windows 10

UnicodeEncodeError: 'charmap' codec can't encode character '\ue000'

error parsing process document scribd

reference: https://www.scribd.com/document/632385602/PIS-Coco-Charcoal-Briquette-1-Page-Presentation

image

Social and economic benefits

Traceback (most recent call last):
File "C:\Python311\Scripts\scribdl-script.py", line 33, in
sys.exit(load_entry_point('scribd-downloader==1.3.1', 'console_scripts', 'scribdl')())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python311\Lib\site-packages\scribd_downloader-1.3.1-py3.11.egg\scribdl\command_line.py", line 54, in _command_line
File "C:\Python311\Lib\site-packages\scribd_downloader-1.3.1-py3.11.egg\scribdl\downloader.py", line 51, in download
File "C:\Python311\Lib\site-packages\scribd_downloader-1.3.1-py3.11.egg\scribdl\downloader.py", line 74, in _download_document
File "C:\Python311\Lib\site-packages\scribd_downloader-1.3.1-py3.11.egg\scribdl\content\document.py", line 91, in download
File "C:\Python311\Lib\site-packages\scribd_downloader-1.3.1-py3.11.egg\scribdl\content\document.py", line 99, in _text_extractor
File "C:\Python311\Lib\site-packages\scribd_downloader-1.3.1-py3.11.egg\scribdl\content\document.py", line 124, in _save_text
File "C:\Python311\Lib\encodings\cp1252.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_table)[0]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeEncodeError: 'charmap' codec can't encode character '\ue000' in position 0: character maps to

KeyError: data-push_state

When trying to download audiobooks, I get a KeyError: 'data-push_state'. I cannot for the life of me figure out how to fix this. Any ideas?

File "C:\Users\thier\AppData\Local\Programs\Python\Python38\lib\site-packages\scribd_downloader-1.3.1-py3.8.egg\scribdl\content\audiobook.py", line 247, in _scrape_audiobook_page
text = json.loads(div_tag["data-push_state"])
File "C:\Users\thier\AppData\Local\Programs\Python\Python38\lib\site-packages\beautifulsoup4-4.8.2-py3.8.egg\bs4\element.py", line 1321, in getitem
return self.attrs[key]
KeyError: 'data-push_state'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.