Ich würde gerne ein kleines Programm schreiben, dass dabei hilft komplette eBooks aus dem SpringerLink herunter zu laden nachdem unsere Bib einen Zugang gekauft hat.
Leider zerteilt Springer die eBooks in viele kleine Teile was es sehr aufwendig macht ein komplettes Buch herunterzuladen.
Beispiel: SpringerLink - Book
Mein erstes Problem ist gleich, dass ich es nicht schaffe die Seite überhaupt herunterzuladen.
Und danach schließt sich an, dass ich nicht weiß wie ich den HTML-Code auf bestimmte daten wie links oder den Buchtitel etc. durchsuchen kann. Irgendwie sowas wie zwischen „<h2 class="MPReader_Profiles_SpringerLink_Content_PrimitiveHeadingControlName">“ und „</h2>“ steht der Buchtitel aber bei den ganzen / dreht Java ja total durch... wie umgeht man dann sowas?
HTTP 403 bedeuteut, dass der Server dir nicht erlaubt, die Daten zu lesen. Musst dich also authentifizieren. Meistens mittels Cookie, welcher bei der Anmeldung gesetzt wird. Spätestens jetzt würde ich dir raten, den Post bzw. den Link von Murray auf HTTPClient anzuschauen.
EDIT: ich denke, den Thread kann man ruhig im Anfängerforum lassen (google nach der Fehlermeldung hätte dir das mit der Authentifizierung auch gesagt) ;-)
EDIT nochmal: SpringerLink Home - Main leitet im Browser automatisch nach SpringerLink Home - Main um. Ersteres ist verboten, zweiteres lässt sich auch ohne Anmeldung lesen. Siehe auch HTTPClient, der kann automatische redirects.
Nur am rande, oben rechts auf der site ist son mini button download this list..
Mangels anmeldedaten kann ichs nicht testen, aber downloaded der net dan alle?
Ich kämpfe gerade bisschen mit den Regulären ausdrücken. Habe mich versucht mich in der JavaInsel schlau zu lesen aber irgendwie bin ich zu doof.
Wie bekomme ich aus folgendem Beispiel das Ergebnis String s = "java-tutor.com\"
Java:
p =Pattern.compile("<a href=.*>");Matcher m = p.matcher("<a href=\"java-tutor.com\">");
Mit "verboten" meinte ich, dass ein Zugriff auf htt p://springerlink.com in einem HTTP 403 (forbidden) resultiert. Hat man automatische redirects aktiviert (wie im Browser oder mittels HTTPClient einstellbar), dann wird nach htt p://springerlink.com/home/main.mpx weiter geleitet, was kein 403 zur Folge hat.
Ich kämpfe gerade bisschen mit den Regulären ausdrücken. Habe mich versucht mich in der JavaInsel schlau zu lesen aber irgendwie bin ich zu doof.
Wie bekomme ich aus folgendem Beispiel das Ergebnis String s = "java-tutor.com\"
Java:
p =Pattern.compile("<a href=.*>");Matcher m = p.matcher("<a href=\"java-tutor.com\">");
Schau dir mal capturing groups an. Beispiel (evtl. nicht korrekt, nur kurz aus dem Kopf):
Java:
p =Pattern.compile("<a href=(.*)>");Matcher m = p.matcher("<a href=\"java-tutor.com\">");
matcher.find();String s = matcher.group(1);//Vorsicht, group(0) bedeutet kompletten Input oder ähnlich, daher group(1)