Open LeHoangDev opened 6 years ago
Die alten Bücher sind nach wie vor zum Download verfügbar, die neueren, welche Rheinwerk nicht mehr als ZIP-Dateien anbietet, sind es aus offensichtlichen Gründen nicht.
Ich bin sehr beschäftigt, habe aber aus Neugier mal folgendes probiert:
WinHTTrack herunterladen und installieren
Java-8-Buch mit HTTrack herunterladen. Danach kann man das Buch erst mal sehr schön offline lesen, aber der Cleaner hat es natürlich noch nicht gesäubert.
Offline-Verzeichnis openbook.rheinwerk-verlag.de\javainsel zur Sicherheit kopieren in ein anderes Verzeichnis, dann umbenennen in _java8. Eine Verzeichnisebene höher gehen, dann z.B. bei installiertem 7-zip Rechtsklick auf _java8 und Verzeichnis zippen unter dem Namen _galileocomputingjava8.zip, analog zu den anderen ZIP-Dateinamen in config.xml.
Die Datei _galileocomputingjava8.zip im Download-Verzeichnis des GOC ablegen.
Falls noch nicht geschehen, GOC mit dem Parameter -w
laufen lassen, damit die Datei config.xml erzeugt wird.
Mit md5sum.exe oder einem ähnlichen MD5-Tool die MD5-Prüfsumme des ZIP-Archivs ermitteln
Erzeugte config.xml um folgenden (vom Java-7-Buch kopierten) Eintrag ergänzen und dabei die selbst ermittelte MD5-Prüfsumme anstelle von "XXXXX" eintragen:
Die Download-URL ist reiner Fake, aber der GOC braucht an der Stelle irgendeinen Eintrag. Er versucht den Download aber nicht, sobald er lokal das bestehende ZIP mit passendem Namen findet.
GOC laufen lassen mit Buchname _java8
Ergebnis: Der GOC sollte nun in der Lage sein, das ZIP zu entpacken. Allerdings produziert er Müll beim Säubern, da die HTML-Struktur abweicht von den alten Openbook-Downloads. Das fängt damit an, daß die Dateien in UTF-8 kodiert sind statt in windows-1252, daß die Titel-Tags woanders zu finden sind etc. Vielleicht schaue ich mir das irgendwann mal an, wenn ich ein paar Stunden Zeit habe, das könnte aber komplex sein, insbesondere wenn es für die alten und dieses neue Openbook gleichzeitig funktionieren soll. So gesehen, kann ich Dir im Moment nicht helfen. Ich wollte nur mal für mich selbst und andere Experimentierfreudige dokumentieren, wie man zu einem ZIP-Archiv mit enthaltenem Openbook kommen kann, das der GOC zumindest mal erkennen und auspacken kann. Der Rest ist dann Quellcode-Pflege.
Theoretisch könnte ich ein mit HTTrack erzeugtes Openbook-ZIP auch auf meinem Server hosten, aber vermutlich hat der Rheinwerk-Verlag aus Copyright-Gründen etwas dagegen. Ich möchte aber auch keinen Crawler in den GOC einbauen, der dann hundertfach läuft und die Webseite des Verlags belastet. Wer aber selbst HTTrack o.ä. laufen lassen und das Buch herunterladen möchte, kann das tun, das ist dann Privatsache. Dann den GOC so zu erweitern, daß er mit dem Buch klarkommt, wäre aber möglich. Es ist Open-Source-Software, also sind mir Pull Requests willkommen, weil ich wenig Zeit habe und den GOC auch selbst nicht mehr nutze. Wenn mir aber mal langweilig ist, kann es durchaus sein, daß ich mir das mal anschaue, nur evtl. dauert es halt eine ganze Weile.
Danke, habe eine so schnelle Antwort nicht erwartet. 👍 Du hast das Problem sehr genau geschildert und erklärt. Im Moment werde ich mich wohl mit der Openbook Webseite zufrieden geben müssen. Ich freue mich schon darauf, wenn du das Projekt irgendwann Mal aktualisieren wirst, wenn du Lust und Laune hast. 👍
Gruß LeHoang93
Zwischenstand: Ich war mal neugierig und habe mir heute morgen eine Stunde als Timebox reserviert, um zu debuggen, wieso die generierten Seiten nach dem Säubern meiner Offline-Kopie des Java-8-Buches leer waren. Es gibt einige Inkompatibilitäten der neuen Struktur zur alten, aber ich habe es am Ende der Stunde geschafft, einen sauber generierten Satz von Webseiten zu erstellen, der optisch und von der "Säuberungs-Qualität" her dem entspricht, was der GOC für die alten ZIP-Archive auch leistet. So gesehen, könnte ich das also commiten und eine neue Version zur Verfügung stellen.
Bleibt die Frage, ob ich eine Wiki-Seite aus meiner Beschreibung weiter oben erstelle, damit sich jeder das Buch selbst crawlen kann, oder ob ich vielleicht von diesem Buch (und evtl. anderen neuen Büchern, die es inzwischen gibt), gezippte Kopien zur Verfügung stellen, die man dann durch den GOC jagen kann. Da muß ich mir mal die Lizenzbedingungen der Openbooks anschauen. Was ich aber sicher nicht machen werden, ist, für alle Bücher bereits bereinigte Versionen zur Verfügung zu stellen. Offen zugängliche Inhalte 1:1 zur Verfügung zu stellen, ist eine Sache, das erscheint mir in Ordnung. Sie aber verändert zur anzubieten, ist sicher nicht in Ordnung dem Verlag gegenüber. Was dann jeder privat mit den Inhalten macht, solange er sie nicht anderen anbietet, geht dann wiederum den Verlag nichts an. Falls ich also etwas anbiete, dann komplette Kopien der Webseite mit CSS, Werbung, Original-Layout etc.
P.S.: Was der GOC produziert, ist ja noch kein eBook sondern erst mal ein inhaltlich bereinigter bzw. vom Layout her angepaßter Satz von HTML-Dateien, der dann einfach mit einem Konvertierungs-Werkzeug wie Calibre in EPUB o.ä. umgewandelt werden kann. Man hat also schon selbst auch noch ein bißchen Arbeit.
Ich habe mit dem Verlag gesprochen. Er hat mir, wie befürchtet, auch das Bereitstellen einer 1:1-Offline-Kopie der - meiner Meinung nach dann fälschlich als "OpenBooks" bezeichneten - Bücher verweigert. Also wird es mit den Online-Büchern nur so gehen, daß sich jeder selbst eine Kopie zieht per HTTrack und damit den Rheinwerk-Server unnötig belastet. Aber sie wollen es anscheinend so. Sie erlauben das ja auch ausdrücklich, z.B. das Ausdrucken des gesamten Buchs für persönliche Zwecke. Das geht ja aber nur, wenn man es auch vorher komplett herunterlädt oder Seite für Seite anschaut.
Mal eine Frage an Dich, @LeHoang93, da Du der Erste bist, der danach gefragt hat: Wärst Du bereit, den Zwischenschritt mit HTTrack zu machen? Ist ja ein praktisches Tool auch abseits der Openbooks. Oder wäre es Dir dann die Mühe nicht mehr wert?
Danke @kriegaex, das du dir so viel Mühe gibst und sogar mit dem Verlag gesprochen hast. Ehrlich gesagt bereitet es mir keine Probleme HTTrack zu benutzen, die Bedienung des Programmes ist jetzt nicht so schwer. In Kombination mit deiner vorherigen Anleitung sollte es keine Probleme geben aus der bereinigten Seite mit Hilfe von Calibre ein epub zu erstellen. Aus meiner Sicht ist es die Mühe wert, da dein Tool zusätzlich viel Arbeit erspart. Die Alternative wäre es jede Seite auszudrucken, dass wäre bei diesem Buch ein sehr großer Verbrauch an Papier und Tinte , oder es online zu lesen. Da ich jedoch gerne dieses Buch nebenbei auf meinem E-Book Reader lesen möchte, ist es mir die Mühe wert.
Danke für Deine Einschätzung. Ich habe mir auch mal crawler4j kurz angesehen. Es wäre vermutlich relativ leicht zu integrieren in GOC, aber das One-JAR zum Download mit allen Dependencies würde dadurch von 1,1 MB auf 53 MB anwachsen, weil da ein ziemlicher Rattenschwanz dran hängt. Ich überlege noch...
Hallo, ich wollte nur mal mitteilen, dass ich ebenfalls an einer Weiterentwicklung sehr interresiert bin. Wenn das also möglich wäre...
Oh Mist, habe vor drei Wochen ganz vergessen zu erwähnen, daß mit o.g. Crawling-Prozedur via HTTrack und dem Code in Branch parse-online-books das Ganze schon gehen sollte. Ich habe ein, zwei Ideen, wie ich das in eine künftige Version einbauen kann, so daß man angeben kann, wo die gecrawlten Dateien liegen und einige Online-Bücher schon in der Konfigurationsdatei des GOC enthalten sind, aber mir fehlt gerade die Zeit. Probiert doch einfach mal, das Produkt aus dem Branch zu bauen und Euch das Buch selbst herunterzuladen und zu säubern.
Gerade hat jemand gefragt, wie das Ganze unter Linux funktioniert und von einem erfolglosen Versuch mit wget berichtet. Der Kommentar wurde aber schnell wieder gelöscht.
Egal, bevor noch jemand fragt: Es gibt HTTrack auch für Linux als Kommandozeilen-Werkzeug:
Eine weitere Verbesserung im Zusammenhang mit dem JAVA_8 Buch habe ich in #36 vorgenommen. Es besteht ein indirekter Zusammenhang mit diesem Ticket.
Hallo, Feedback bitte. Ich schließe das Ticket sonst.
Hallo, ich möchte gerne mir die Openbook Version der 12. Auflage von Java ist auch eine Insel als als Ebook Version herunterladen.
http://openbook.rheinwerk-verlag.de/javainsel/
Ist es mit der aktuellen Version möglich? Nach meinen Nachforschungen in der config.xml Datei zeigen die Links nur auf die .zip Datei des jeweiligen Buches. Nach meinen Kenntnisstand ist es nicht mehr möglich die von Rheinwerk bereitgestellten Openbooks als .zip herunterzuladen.