jQuery via Java herunterladen

TimoT

Mitglied
Hallo Liebe JAVA-Freunde,

Ich habe ein Problem. Ich soll für meine Tante ein kleines Programm schreiben, dass von der ADIDAS-Seite automatisch Bilder und die zugehörigen Produktbeschreibungen herunterladen soll! Jetzt habe ich es hin bekommen, dass die Bilder heruntergeladen werden. bei den Produktbeschreibungen habe ich noch ein Problem. Wenn ich z.B. von folgender Seite ( adidas Männer Mungo Quick Drying Slides | adidas Deutschland ) die Beschreibung beziehen will bekomme ich nur das folgenden abschnitt:

"Männer Mungo Quick Drying Slides
Dieser weiche, leichte Badeslipper für Herren ist besser als jemals zuvor. Der adidas Mungo QD hat noch immer ein attraktives Bandagendesign, verfügt aber jetzt über bequemes und schnell trocknendes Obermaterial, wodurch der Slipper noch besser für die Dusche geeignet ist."

Die 3 Zusatzinformationen:

Wasserabweisendes, schnell trocknendes EVA-Obermaterial
Schnell trocknendes Futter für erhöhten Komfort
Geschäumte EVA-Laufsohle für leichten Komfort


die als <li> in einem zusätzlichen JQuery sind bekomme ich nicht!

Ich gehe beim beziehen der Informationen wie folgt vor:

1. Ich lade den Quelltext herunter
2. suche im Quelltext nach der Produktbeschreibung
3. Kopiere den Teil der Produktbeschreibung aus der *.txt-Datei.

Nur befinden sich die Zusatzinformationen nicht im Quelltext der Internetseite! Wie komme ich mittels Java-code an das JQuery, welches sich dann auch auf das gesuchte Produkt bezieht!

Ich habe auch schon gesucht, ADIDAS bietet keine direkte Schnittstelle zur Produktdatenbank.

MfG Timo

PS: ich hoffe es ist keine zu dumme Frage! ,-)
 
Die Zusatzinformationen ganz normal im Quelltext. Du ziehst vermutlich nur den Inhalt des
Code:
short_description
-divs
 
Danke für die antwort,

Das Problem ist, dass ich die Zusatzinfos, wenn ich mir den Quelltext via Firefox anschaue auch finde. Aber in meiner mittels Java heruntergeladenen Datei finde ich die Zusatzinfo nicht. Diese infos sind einfach nicht im Quelltext enthalten! Ich poste mal einen teil des Codes, speziell auf das angegebene Produkt verfasst:

Java:
	URL url = new URL("http://www.adidas.de/M%C3%A4nner-Mungo-Quick-Drying-Slides/010629_640,de_DE,pd.html");
	
String artNR = "010629" ;

	BufferedReader desc = new BufferedReader(new InputStreamReader(url.openStream()));
			
				FileOutputStream fos = new FileOutputStream(artNR + ".txt");
				
				StringBuffer strBuf = new StringBuffer();
				
			while(desc.readLine()!= null){
				strBuf.append(desc.readLine());
			}
			
			full = strBuf.toString();
			BufferedWriter toTextDoc = new BufferedWriter(new FileWriter (artNR + ".txt"));
			
			toTextDoc.write(strBuf.toString());


und das was ich mittels dieser funktion auslese enthält die Zusatzinfos nicht! Wie man sehen kann habe ich den Quellcode der Homepage in eine TXT laden lassen. auch die suche mittels Editor bringt mir kein Ergebnis!


MfG Timo
 
Wenn ich es nicht versucht hätte, würde ich nicht so sicher behaupten, dass die da sind.
Bist du sicher, dass in deiner Textdatei (die du übrigens 2 mal öffnest: Zeile 16 und 7) die letzte Zeile
Code:
</html>
ist? Vlt schreibst du es einfach nicht komplett rein. (Stichwort flush oder close)
 
jetzt wo dus sagst, das kann gut sein, am ende steht nämlich "null" hmm wie liest du sie denn ein?

An welcher stelle öffne ich übrigens die datei 2 mal? also ich muss ganz ehrlich zugeben streams sind NICHT und ich betone GARNICHT meine stärke 🙂 muss mir unbedingt die IO 's nochmal anschauen!


Ja hab gerade gemerkt, dass ich sie 2 mal einlese, ups!
 
Zuletzt bearbeitet:
Du überspringst auch Zeilen bzw. speicherst nur jede zweite Zeile ein. Such einfach mal bei google oder hier im Forum nach Beispielen, die gibt es wie Sand am Meer.
 
Ok, also ich habs jetzt, vielen dank!


ich hab meinen code

Java:
		while(;desc.readLine() != null;){
				strBuf.append(desc.readLine());
			}

in den hier geändert:

Java:
for ( String s; ( s = desc.readLine() ) != null; ) {
					strBuf.append(s);
					}

Aber ich verstehe nciht wirklich, warum ich nur jede 2. Zeile gespeichert habe...

ist es weil ich desc.readLine() nicht in einem String zwischengespeichert habe und somit readLine() 2x aufgerufen habe?!?

Wenn ja, dann bin ich echt ... dumm!


MfG Timo
 

Zurück
Oben