
Hathi Download Helper
Source (link to git-repo or to original if based on someone elses unmodified work):
Available as/for:
Description:Visit Hathi Download Helper on hathidownloadhelper.sourceforge.net
Hathi Download Helper is a tool for downloading books from hathitrust.org.
Features:
- download of pdf files
- download of image files
- download of ocr text files
- export of download link lists
- creation of batch jobs (download multiple books at once)
- merges several pdfs to a single pdf book
- converts image files to pdfs or a pdf book
- creates searchable pdf files
- Proxy support
- webproxy support (disabled in HDH 1.1.1)
- page setup support due to underlying pdf printer (letter, A4, A3 etc.)
- Adjustable GUI style and font
- (auto) update checker
Dependencies:
- for merging of existing pdf files the free tool "pdftk" (http://www.pdflabs.com/) is used in the background.
Miscellaneous:
- Developed under QT 4.8.1 (mingw), Windows 7 Pro SP1, Windows 10 Pro
- tested with Windows 7 Pro, Windows 10 Pro , Windows XP Pro, Mac OS X 10.10
- binary installer for windows: HDH_v1.1.2_setup.exe (see links below)
- installer for Mac OS X: HDH_v1.1.2_setup_MacOsX (see links below)
Others:
- OS/2 and EcomStation package available ( thanks to qt-apps.org-member 'TeLLie')
2016.09.05 version 1.1.3 released
Bug fixes: pdf merging fails when downloading book with more than 1300 pages, fixes automatic update check feature. New features: Download whole books as 1 pdf when whole book download is available, added Pdf merging dialog to merge arbitrary pdf files.
Ratings & Comments
24 Comments
Dear HDH users, please note that the automatic and manual update check of Hathi Download Helper is not working any more. The problem is, that this feature extracts the update information from the qt-apps.org homepage itself. Since qt-apps.org seems to be gone the update check feature fails. The update feature will be fixed in Version 1.1.3 of Hathi Download Helper. Best regards Martin aka HathiDownloadHelper
Dear users, I'm very sorry to announce at this point, that Hathi Download Helper will not be continued. The latest changes on hathitrust.org - they have changed the protocol to https - have revealed some serious issues in the program code, which are causing not only program chrashes but also terminations of all network connections on the target system. I'd like to say a big thank you to everyone for your feedback I've received in the last few years. But for personal reasons i'm not able to continue the hathi download helper project (at least within a reasonable period of time). Best regards Martin aka HathiDownloadHelper @other Qt developer which may like to continue this project: I'm well aware that my code is not the best, but since this was my very first Qt project I guess it is not too bad. I will upload a working copy of the latest program code of HDH within the next few days. I was able to adjust the download links, so that the general download feature seems to work properly. Proxy features (Webproxy, Proxy) have not been tested. BUT: The application is NOT stable!! There are serious problems with the qnams get() commands in the hathidownlaodhelper.cpp file, which holds the first requests for downloading the html-pages and extracting all required information to download the complete book files. Either the network connections get killed instandly or after some get-requests or after restart of the application. (I was forced to restart my computer every time to fix the network problem). See function: HathiDownloadHelper::slot_bookPageLoaded(QNetworkReply* pReply) I've tested my application with Qt 4.8.0, Qt 4.8.1 and Qt 4.8.6 as well as with Qt 5.2.1 and Qt 5.5.1 using MingW on Windows 7 Pro to identify the problem. Debugging releaved that there must be some pointer issues. But I was not able to locate the problem. I will add some additional program descriptions to my upload.
The condemned live longer.... Hathi Download Helper 1.1.1 is available.
Thanks for providing the Hathi Download Helper found it of much use for research. Is there anyway to manually add a proxy and where to find any I can use as it now takes forever to download anything due to the 5 minute exceeded amount allowance waiting time. Thanks again for your programme. Tom
Hi Tom, thx for your message. Since hathitrust has changed to https the buit-in proxy feature is not reliable anymore. Therefore I recommend to use additional tools instead (e.g. Hotspot Shield). I hope that I can fix this problem in the upcoming version. Within Hathi Download Helper, you can manually setup a proxy via menu bar -> tools -> Proxy. By clicking the checkbox "use proxy server" the application will apply your proxy settings and checks whether it can reach hathitrust.org homepage. You can find list with free proxy online. Just search for "free + proxy + list". Best regards Martin aka HathiDownloadHelper
Hathi Download Helper had always worked fine for me until the last few days. Now every time I try using the program, I can't even get through the first step ("Get Book Information"). I keep getting the error message "http request failed". Is anyone else having the same problem?
Me too :(
Hathi Download Helper had always worked fine for me until the last few days. Now every time I try using the program, I can't even get through the first step ("Get Book Information"). I keep getting the error message "http request failed". Is anyone else having the same problem?
Having a failed to get https error.
You guys are awesome!! These updates solved all my problems!! :D
It has the strangest bug - on win10, resolution 1366x768, it is too long for the screen. You can't see or click the lower fields in the dialog, and the OK button that is assumedly there. The window is not resizeable and cannot be dragged up from the side margin.
Hi tresp, than u for your message and sorry for my late reply. This problem will be fixed in HDH 1.1.2. Best regards Martin
I just wanted to thank you for building such a wonderful application. I've been using it very extensively, and previously I had to do all the work manually. My only question is whether it is possible to simplify the process downloading several books with the same name. I've been downloading a number of books that come in multiple volumes with the same name (volume no. is not in the title). This unfortunately makes them overwrite eachother and only the most recent one remains. Is there any way to add a feature to change the naming scheme?
Hi Raeene, thank you very much for your post. As you mentioned the book titles at hathitrust are not unique identifiers. Thus it might happen that the final pdf book could be overwritten when you download several books to the same folder (which is the case when the title is the same). The solution for your problem is to make sure that the books are downloaded to separate folders. You can do this either manually by changing the download destination folder for each book or you can change the automatic naming option for the download folders to use the hathitrust ID instead of the book title. + To change the automatic naming option select 'Options'->'User settings' from the menu bar. + Within the 'Download settings' group box enable the 'automatically create download folder by' feature and change the option to 'book ID' I hope this solution will work for you. Best regards HDH
Seeing as how FreeBSD isn't linux, win, or mac, you need to put something like <code> #elif defined(Q_OS_FREEBSD) QString sPdftkScript = "/usr/local/bin/pdftk "; </code> somewhere near line 3886 in hathidownloadhelper.cpp Similarly, need to figure out something for the file manager around line 3922-ish. As it sits, though, it builds fine. Cheers.
Seeing as how FreeBSD isn't linux, win, or mac, you need to put something like <code> #elif (Q_OS_FREEBSD) QString sPdftkScript = "/usr/local/bin/pdftk "; </code> somewhere near line 3886 in hathidownloadhelper.cpp Similarly, need to figure out something for the file manager around line 3922-ish. As it sits, though, it builds fine. Cheers.
build for linux(Qt 4.8) Ok! Hand curves do installer ? Make install don`t work
Version 1.0.2 is backward compatible to Qt 4.x and has been tested with version Qt 4.7.4 on Windows and on linux sytems.
confirmed working I built without pains this qt application using qt 4.7.3 (I made a static compilation since I built qt statically) 31 MB unstripped, 25 MB stripped strip --strip-unneeded and about 9 MB compressed with upx
Tested with Qt 4.8.4 and Qt 5.0.1. Works on Linux x64 beautifully... :)
failed to build in linux using QT 4.7.3. This is the log # qmake Project MESSAGE: Warning: unknown QT: webkitwidgets RCC: Error in 'images.qrc': Cannot find file 'images/elephant.png' RCC: Error in 'images.qrc': Cannot find file 'images/elephant_leeching.gif' RCC: Error in 'images.qrc': Cannot find file 'images/elephant_leeching.png' RCC: Error in 'images.qrc': Cannot find file 'images/elephant_reading.gif' RCC: Error in 'images.qrc': Cannot find file 'images/elephant.ico' I managed to fix this moving all images into proper directory and re-started ----------------------------------------------------------- # qmake Project MESSAGE: Warning: unknown QT: webkitwidgets -------------------------------------------------- # make /usr/bin/uic hathidownloadhelper.ui -o ui_hathidownloadhelper.h /usr/bin/uic proxydialog.ui -o ui_proxydialog.h /usr/bin/uic fileselectdialog.ui -o ui_fileselectdialog.h g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I/usr/mkspecs/linux-g++ -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include -I. -I. -o main.o main.cpp main.cpp:2:21: error: QtWidgets: No such file or directory In file included from hathidownloadhelper.h:6, from main.cpp:5: fileselectdialog.h:5:23: error: QStringlist: No such file or directory In file included from hathidownloadhelper.h:6, from main.cpp:5: fileselectdialog.h:18: error: extra qualification ‘fileselectdialog::’ on member ‘getFileList’ In file included from main.cpp:5: hathidownloadhelper.h:52: error: ‘QTextDocument’ has not been declared main.cpp: In function ‘int main(int, char**)’: main.cpp:10: error: variable ‘QApplication a’ has initializer but incomplete type main.cpp:14: error: ‘QStyleFactory’ has not been declared make: *** [main.o] Error 1
Thx for the feedback. I'm using QT 5.0.2 on Windows 7 Pro., The version 1.0.0 was build without any problems. But I've used your log to fix the errors and uploaded version 1.0.1. I will test version 1.0.2 on both, Linux and Windows before uploading it.
Of course it will not work with Qt 4.7. The Source is for Qt5 which is significantly different from the Qt 4.x series. Qt5 has separated widgets from QtGui to QtWidgets. I think the author should provide a source for Qt4 separately as Qt5 is not yet wide-spread as Qt4 in linux distributions
Thx for your comment. I will do this for version 1.0.2