Download libri da Google Books per salvare direttamente i PDF con libri completi
Google Books, conosciuto in italia come Google Libri, indicizza milioni di libri e li offre nella sua immensa libreria previo pagamento. Alcuni libri sono disponibili gratuitamente se volete scoprire se un libro vi piace, Google offre la possibilità di sfogliare alcune pagine gratuitamente senza alcun impegno nell’acquistare il libro, ma se volete leggerlo tutto dovete comprare la versione completa. Noi però vi sveliamo un trucco per scaricare da Google Libri.
Se dunque stai cercando un metodo efficace per scaricare libri da Google Books, in formato PDF o EPUB sei nel posto giusto perché noi ti diremo l’unico metodo funzionante per scaricare libri da Google Libri ed anche se il meccanismo non è proprio facilissimo cercheremo di essere quanto più chiari possibili. Il segreto sta nell’usare uno script Python ed una serie di Proxy. Ecco come fare.
Diffidate dai famosi programmi denominati Google Books Downloader che millantano di scaricare libri da Google Books gratuitamente, ma questi software sempre offrono la possibilità di scaricare solo poche pagine di libri, in qualità scarsa ma soprattutto diffondono virus e sono pericolosi per la sicurezza del nostro computer.
Se esistono diversi siti di hosting che offrono una libreria immensa dove scaricare libri da internet gratuitamente, in molti formati disponibili tra cui i diffusissimi PDF e EPUB, noi vi sveliamo come scaricare da Google Libri senza incorrere in virus e scaricare il libro originale, anche se dovete avere un po di pazienza. Ecco la guida più semplice che potete trovare in giro, in Italiano e che nessun altro sito ha ancora pubblicato.
Come scaricare da Google Books gratis
GoBooDo, un programma scritto in linguaggio di programmazione Python 3, è l’unico software che permette di scaricare le pagine in anteprima di un libro presente su Google Books e creare un PDF. Usando un semplice proxy, una connettività VPN o cambiando IP, potrete in pratica scaricare tutto il libro per intero.
STEP 1
Per scaricare un libro con GoBooDo dovete avere l’ID del libro che trovate direttamente nella URL del libro come ad esempio quello seguente. Dove l’ID è quello scritto dopo …?id=XXX in questo caso XUwOtdcIWdkC
https://books.google.co.in/books?id=XUwOtdcIWdkC&printsec=frontcover#v=onepage&q&f=false
STEP 2
Per iniziare il download del libro dovete scaricare GoBooDo da QUI e poi scompattarlo sul vostro PC. Per eseguire uno script Python dovete avere l’emulatore e su Linux è già integrato mentre su Windows dovete installare la relativa estensione gratuita Python dal Microsoft Store (immagine in basso).
STEP 3
Una volta installato l’ambiente per avviare uno script Python, se non sapete come fare è necessario cercare su Google la procedura in base al vostro sistema operativo, ma di solito è molto semplice. E poi dovete aprire il prompt dei comandi o il terminale e dare il comando seguente, dopo esservi posizionati nella cartella dello script che avete scaricato e scompattato al primo punto. Dove di fianco ad = dovete mettere l’ID del libro che volete scaricare.
python GoBooDo.py --id=XUwOtdcIWdkC
STEP 4
L’output verrà salvato come una cartella denominata ID del libro che è stato fornito come input nel comando Python. Il file PDF finale sarà copiato nella cartella alla fine del download con incluse le immagini di ogni pagina.
STEP 5
Siccome Google permette di scaricare solo poche pagine di anteprima, dovete aggiungere i proxy nel file proxies.txt, così che al termine del download delle pagine di anteprima, GoBooDo, imposti il secondo proxy e continui a scaricare le pagine restanti.
Da notare come GoBooDo tenga traccia dei libri scaricati. Ad ogni iterazione vengono recuperati solo quei collegamenti e immagini che non sono stati scaricati in precedenza. Per configurare tutto al meglio usate il batch PIP INSTALLA Requisiti.txt per installare tutti i pacchetti contemporaneamente che sono i seguenti:
requests
bs4
Pillow
fpdf
html5lib
tqdm
pytesseract
LINK DOWNLOAD GoBooDo
INDICE DEI CONTENUTI
Eseguendo il comando python GoBooDo.py –id=XUwOtdcIWdkC, ricevo il seguente output:
File “GoBooDo.py”, line 82
print(f’Downloading {self.name[:-15]}’)
^
SyntaxError: invalid syntax
Dopo GoBooDo.py c’è uno spazio e due trattini — io ne vedo solo uno
Nel terminale ci sono sia lo spazio che i 2 trattini. Adesso provo a ripetere il copia e incolla nel commento e verifico al volo se nell’invio inserisce un solo trattino.
python GoBooDo.py –id=XUwOtdcIWdkC
File “GoBooDo.py”, line 82
print(f’Downloading {self.name[:-15]}’)
^
SyntaxError: invalid syntax
Infatti viene eliminato dal commento, forse lo considera come un carattere doppione.
Controlla qui
https://github.com/vaibhavk97/GoBooDo
Ci sono i vari passi che ho riportato.
La configurazione di settings.json in country non dovrebbe essere presente .it?
Tesseract ho capito quale è il percorso, so come accedere con l’editor di testo come super utente, ma non so cosa ci dovrei inserire.
Il comando pip credo di averlo già eseguito prima di scrivere il mio primo commento, in ogni caso lo rieseguo e riporto l’output
carlo@carlo-Studio-1737 ~/GoBooDo-master $ pip install -r requirements.txt
Collecting requests (from -r requirements.txt (line 1))
Using cached https://files.pythonhosted.org/packages/92/96/144f70b972a9c0eabbd4391ef93ccd49d0f2747f4f6a2a2738e99e5adc65/requests-2.26.0-py2.py3-none-any.whl
Collecting bs4 (from -r requirements.txt (line 2))
Using cached https://files.pythonhosted.org/packages/10/ed/7e8b97591f6f456174139ec089c769f89a94a1a4025fe967691de971f314/bs4-0.0.1.tar.gz
Collecting Pillow (from -r requirements.txt (line 3))
Using cached https://files.pythonhosted.org/packages/12/ad/61f8dfba88c4e56196bf6d056cdbba64dc9c5dfdfbc97d02e6472feed913/Pillow-6.2.2-cp27-cp27mu-manylinux1_x86_64.whl
Collecting fpdf (from -r requirements.txt (line 4))
Using cached https://files.pythonhosted.org/packages/37/c6/608a9e6c172bf9124aa687ec8b9f0e8e5d697d59a5f4fad0e2d5ec2a7556/fpdf-1.7.2.tar.gz
Collecting html5lib (from -r requirements.txt (line 5))
Using cached https://files.pythonhosted.org/packages/6c/dd/a834df6482147d48e225a49515aabc28974ad5a4ca3215c18a882565b028/html5lib-1.1-py2.py3-none-any.whl
Collecting tqdm (from -r requirements.txt (line 6))
Using cached https://files.pythonhosted.org/packages/63/f3/b7a1b8e40fd1bd049a34566eb353527bb9b8e9b98f8b6cf803bb64d8ce95/tqdm-4.62.3-py2.py3-none-any.whl
Collecting pytesseract (from -r requirements.txt (line 7))
Using cached https://files.pythonhosted.org/packages/a3/c9/d6e8903482bd6fb994c32722831d15842dd8b614f94ad9ca735807252671/pytesseract-0.3.8.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File “”, line 1, in
File “/tmp/pip-build-mygivz/pytesseract/setup.py”, line 4, in
setup()
File “/usr/lib/python2.7/dist-packages/setuptools/__init__.py”, line 129, in setup
return distutils.core.setup(**attrs)
File “/usr/lib/python2.7/distutils/core.py”, line 124, in setup
dist.parse_config_files()
File “/usr/lib/python2.7/dist-packages/setuptools/dist.py”, line 494, in parse_config_files
ignore_option_errors=ignore_option_errors)
File “/usr/lib/python2.7/dist-packages/setuptools/config.py”, line 106, in parse_configuration
meta.parse()
File “/usr/lib/python2.7/dist-packages/setuptools/config.py”, line 382, in parse
section_parser_method(section_options)
File “/usr/lib/python2.7/dist-packages/setuptools/config.py”, line 355, in parse_section
self[name] = value
File “/usr/lib/python2.7/dist-packages/setuptools/config.py”, line 173, in __setitem__
value = parser(value)
File “/usr/lib/python2.7/dist-packages/setuptools/config.py”, line 430, in _parse_version
version = self._parse_attr(value)
File “/usr/lib/python2.7/dist-packages/setuptools/config.py”, line 305, in _parse_attr
module = import_module(module_name)
File “/usr/lib/python2.7/importlib/__init__.py”, line 37, in import_module
__import__(name)
File “/tmp/pip-build-mygivz/pytesseract/pytesseract/__init__.py”, line 2, in
from .pytesseract import ALTONotSupported
File “/tmp/pip-build-mygivz/pytesseract/pytesseract/pytesseract.py”, line 88
f”{tesseract_cmd} is not installed or it’s not in your PATH.”
^
SyntaxError: invalid syntax
—————————————-
Command “python setup.py egg_info” failed with error code 1 in /tmp/pip-build-mygivz/pytesseract/
Infine riguardo i proxy il file che li contiene l’ho individuato ma ho poca familiarità, hai qualche consiglio su dove posso cercare ed eventualmente come procedere?
Puoi scrivere una Discussione in merito e capire se loro possono aiutarti. https://github.com/vaibhavk97/GoBooDo/discussions
Si può scrivere in italiano oppure per forza in inglese?
Magari per non ripetere le stesse cose esposte fin’ora potrei fare un copia e incolla delle nostre comunicazioni qui.
Si, meglio in inglese.
Ciao, grazie mille per l’articolo, GoBooDo sembra davvero promettente. L’ho scaricato da due giorni e finalmente, anche grazie al forum inglese, sono riuscito ad ottenere un file PDF. Ma le pagine ottenute si limitano alla sola anteprima. Ho modificato le impostazioni affinché il programma cambiasse server proxy, e aggiornato la lista proxies.txt ma senza risultati.
Forse non sto utilizzando i proxies corretti, perciò vorrei sapere quali sia la tipologia da usare per recuperare le pagine mancanti, e se il paese del server, protocollo e livello di anonimato, abbiano una qualche influenza.
Ciao Antonio, prova ad usare una VPN, cambiando server ogni volta, forse fai prima. Altrimenti puoi scrivere una Discussione in merito e capire se loro possono aiutarti. https://github.com/vaibhavk97/GoBooDo/discussions