Websites kopieren

Status
Nicht offen für weitere Antworten.

0din

Bekanntes Mitglied
Gutn morgen,

Ich werd grade vor ne recht unlustige aufgabe gestellt...

ich soll nen prog basteln, das webseiten kopiert un offline verfügbar macht.
nur ehrlich gesagt hab ich keine idee wie ich an den html quellcode komme, mit einem java prog.

Von daher die frage, womit kann ich den quellcode auslesen oder besser noch, die ordnerstruktur hinter z.b. "http://www.java-forum.org/" nach files scannen?
 

ARadauer

Top Contributor
so ungefähr...

Java:
URL url = new URL("http://www.java-forum.org");
		
		InputStream is =  url.openConnection().getInputStream();
		BufferedReader reader = new BufferedReader(new InputStreamReader(is));
		try {
			
			String line = null;
			while((line=reader.readLine())!=null){
				System.out.println(line);
			}
		}finally{
			reader.close();
		}

wobei es wahrscheinlich schon fertige crawler gibt
 

0din

Bekanntes Mitglied
durch einfaches lese nich aber man kann ja auf bestimmte teile vom html code suchen un damit auch bilder / links erfassen...
kann ich denn bilder auch so simpel ziehn? (bufferedreader auf die datei loslassen)
 
B

bygones

Gast
durch einfaches lese nich aber man kann ja auf bestimmte teile vom html code suchen un damit auch bilder / links erfassen...
kann ich denn bilder auch so simpel ziehn? (bufferedreader auf die datei loslassen)

einfaches link verfolgen geht bei statischen seite moeglicherweise... bei dynamischen wirst du damit aber scheitern.
[c]http://www.foobar/show.php?image=01&picture=hdg6734[/c] wo liegt nun das Bild manifestiert vor ?!
 

0din

Bekanntes Mitglied
gut, das könnte nen problem sein... einzige lösung die mir innen sinn käme:
einfach alles ziehn
also nur externe links ausfiltern (damit ich nich das ganze www ziehe) un ansonsten einfach die komplette ordnerstruktur mit allen files ziehn un lokal nachbaun
hat den vorteil das ich nich 20 bilder von 5 anderen webseiten lade
 
B

bygones

Gast
also nur externe links ausfiltern (damit ich nich das ganze www ziehe) un ansonsten einfach die komplette ordnerstruktur mit allen files ziehn un lokal nachbaun
- du wirst moeglicherweise nie die komplette ordnerstruktur wissen
- du wirst moeglicherweise keine rechte haben da mal reinzupfuschen

bygones

ich wuerde auch empfehlen schon vorhandenen Crawler zu nutzen, macht manches einfacher
 

0din

Bekanntes Mitglied
ich hab mal nach fertigen crawlern geschaut bzw. bin gleich über Lucene gestolpert.

Nun die Frage, wie hilft mir ein prog das indexiert?
Wobei ich davon ausgehe das ganze nich recht zu verstehn...
 

0din

Bekanntes Mitglied
ich habs mir mal n wenig angesehn...

das Gnu Wget is mir n absolutes rätsel, da raff ich nix von ???:L


Apache Droids sieht nett aus aber überfordert mich irgendwie.
Gibts dabei nich ne simple lösung ala "Zieh die .jar un schau in der api was für teile davon gebrauchbar sind"?
 

faetzminator

Gesperrter Benutzer
wget ist keine lib für Java, aber das Tool macht genau was du willst: eine Website rekursiv bis zu gewissen definierbaren Grenzen lokal zu speichern.
 

0din

Bekanntes Mitglied
Was verstehst du eigentlich unter der Ordnerstruktur eines URLs? :bahnhof:

Nuja, wenne ne URL hast die so aussieht:
"http://www.meineURL.de/bilder/quatsch/unsinn"
biste im prinzip in den ordnern bilder / quatsch / unsinn

zur Gnu Wget:
Danke aber es geht leider nich ums kopier sondern ums programmiern des dings...
 

faetzminator

Gesperrter Benutzer
Nuja, wenne ne URL hast die so aussieht:
"http://www.meineURL.de/bilder/quatsch/unsinn"
biste im prinzip in den ordnern bilder / quatsch / unsinn
Wenn du einen Apache laufen lässt und kein mod_rewrite verwendest, dann ist das korrekt.
1. Mit mod_rewrite könnte man konfigurieren, dass die aktuelle Page (/newreply.php?do=newreply&p=553080) auch per "/newreply/newreply/553080" erreichbar ist.
2. Wenn ich meine Apps auf einem Tomcat oder Websphere konfiguriere, habe ich nur irgendwelche Pfade, welche ich mit den jeweiligen Applikationen verknüpfe, praktisch liegen irgendwo class Dateien rum.
Auf deutsch: ich weiss was du willst, aber du musst sehen, dass dies in der heutigen Zeit (Web 2.0, etc.) nicht mehr so simpel ist.
zur Gnu Wget:
Danke aber es geht leider nich ums kopier sondern ums programmiern des dings...

Ah so, verstanden :)
 

0din

Bekanntes Mitglied
Ja isn nettes prog aber ich musses leider selber schreiben ;-)
Eig. müsst dat ja in hausaufgaben weils da anzusiedeln wäre aber da bekomm ich in diesem jahrzehnt keine antwort drauf ^^

nuja, zurück zum thema...
ich hab heut endlich mal n ansatz von infos bekommen... das ding darf(!) crawler gebrauchen, d.h. ich kann mit apache droids arbeiten (wenn ich da durchsteign würde) ^^
Wäre vllt jmd so gut mir zu erklären wie man das ding gebraucht?
 

Dissi

Aktives Mitglied
Hallo, genau die gleiche Aufgabe hatte ich im Info Studium 5. Semester. Habe dazu HTML Unit genutzt. Hab den Crawler aber selber gebaut.

MFG
 

0din

Bekanntes Mitglied
Hm, 5tes is bei uns nen Praktikum... sitz nu im dritten un hab zu der aufgabe absolut keine infos bekommen.
is ma wieder typisch, bekommen was aufgebrummt ohne das uns irgendwer sagt was man dazu gebrauchen könnte oder wie die sich das gedacht haben.

Mal die Frage,
Ein crawler oder das droids von apache machen doch eigentlich nichts anderes als den links auf einer seite folgen?! Das müsste doch eigentlich schnell selbst zu machen sein.
Nur, wie "dekodiert" man bitte php links????:L
 

faetzminator

Gesperrter Benutzer
Wieso dekodieren? Einfach aufrufen und alle in Dateinamen nicht erlaubten Zeichen durch irgendwas ersetzen, damit du es abspeichern kannst.
 

0din

Bekanntes Mitglied
Das aufrufen der Seiten wäre dann das HTML Unit un den crawler der den links bzw seitn folgt müsste man selbst eben basteln?!
 

0din

Bekanntes Mitglied
Super, nu kommt Licht ins dunkel ^^
nu muss ich mir morgen nur mal raussuchen wie man des html unit gebraucht un vorallem wo ichs her bekomm...

ich stell dann ma die letzte frage für heut ^^ keine sorge war bestimmt net die letzte...
Wie kann ich anhand eines Links bzw einer URL raus bekommen obs auf dem gleichen server liegt?
durch den aufbau der URLs kann ich mir da irgendwie keine lösung erdenken
 

0din

Bekanntes Mitglied
Ich will as ganze hier mal nochmal aufmachen...

2 Probleme hab ich im mom..

1. Wie downloade ich bitte bilder?
2. Wie verändere ich die Links in einer html zeile?
2.1 string.replace() is schön un gut aber ich bekomm das ganze nich wirklich zu packen mit (is niederländisch also die variablen namen müssn so komisch sein)
Java:
	public void copySite() throws IOException
	{
		System.out.println("De pagina wordt uitgelezen.");
		BufferedReader input = new BufferedReader(new InputStreamReader(url.openStream()));
		String inputLine;

		while ((inputLine = input.readLine()) != null)
		{
			inhoud.add(inputLine);
		}

		input.close();

		String holeFile = "";
		for (String st : inhoud)
		{
			holeFile += st;
		}

		match = patt.matcher(holeFile);
		while (match.find())
		{
			String w = match.group();
			if (!queue.contains(w))
			{
				queue.add(w);
				URL nieuw = new URL(w);
				nieuweLinks.add(pad);
			}
		}
	
		FileWriter fileWriter = new FileWriter(pad + fileNummer + "\\.html");
		for (String st : inhoud)
		{
			System.out.println(st);
			fileWriter.write(st + "\r\n");
		}
		fileWriter.close();
		System.out.println("De pagina is succesvol opgeslagen.");
		
		bs.addLinks(queue);
	}
 

ARadauer

Top Contributor
Nur, wie "dekodiert" man bitte php links?
gar nicht einfach folgen....

sitz nu im dritten un hab zu der aufgabe absolut keine infos bekommen
tja hast gefragt?

also nochmal, was musst du genau machen? Einen kompletten offline reader schreiben? kann ich mir ehrlich nicht vorstellen.
Wie lautet die genau Aufgabenstellung, was muss das Ding genau können?
 

0din

Bekanntes Mitglied
Die genaue aufgabe:
2.1:
Baue ein programm ähnlich httrack, gebrauch dabei java, url und url connect

3.1
erweitere 2.1 um reguläre expressions
netterweise sagt mir der befragte dozent, das wir das am montag machn... un ich darfs morgen abend einliefern, aber die regexp habsch halbwechs im griff...

Ich würd euch die aufgaben ja kopiern aber ich glaub ihr könnt kein niederländisch... (studier in NL)

Soweit is das die aufgabenstellung,
was wir bis nu ham:
ein programm das eine website lädt, theoretisch seiten folgt (ungetestet)
unterscheidet obs nen bild oder ne andere htmlfile is un da auch weiter zieht.
das ganze ist nicht rekursiv, sollte man da ernsthaft drüber nachdenken?

un die probleme:
kleinstes problem sind die bilder (hab no net ins galileo geschaut, kann also schon gelöst sein)
und was mir n rätsel is, wie ersetz ich die alten urls im code durch meine neuen?
ich kann zwar die alten links mit den nem neuen überschreiben aber ich weiß ja leider no net wie die dateien heißen un wo se hin kommen
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Screenshot von Websites? Allgemeine Java-Themen 3
M Ordner kopieren Allgemeine Java-Themen 5
S Referenzdatentyp kopieren Allgemeine Java-Themen 5
I Wie Vektor-Grafik in die Zwischenablage kopieren? Allgemeine Java-Themen 2
J Gebautes Jar per Maven in einen Docker Container kopieren Allgemeine Java-Themen 0
L File beim Kopieren in einen anderen Ordner umbenennen Allgemeine Java-Themen 6
M Dateien schneller kopieren Allgemeine Java-Themen 1
M Dateien nach kopieren vergleichen Allgemeine Java-Themen 9
B In zwischenablage kopieren Allgemeine Java-Themen 2
F Datentypen Kopieren von Datentypen Allgemeine Java-Themen 10
K JAR Datei Corrupt nach Kopieren Allgemeine Java-Themen 4
D Kopieren von Dateien aus einem Ordner in einen anderen Allgemeine Java-Themen 6
A Bestimmte Inhalte aus ArrayList 1 in ArrayList 2 kopieren Allgemeine Java-Themen 6
N String ins Clipboard kopieren ohne makieren. Allgemeine Java-Themen 12
J Umwandeln von URL zu File und danach kopieren geht nicht Allgemeine Java-Themen 1
F Java moved Files statt sie zu kopieren Allgemeine Java-Themen 12
X Dateien von der Jar zum Ordner kopieren. Allgemeine Java-Themen 4
J PDF-Datei aus JAR-Archiv in Dateisystem kopieren Allgemeine Java-Themen 1
S Einen übergebenen String kopieren Allgemeine Java-Themen 3
S in Zip kopieren -- Backup-Programm Allgemeine Java-Themen 9
P Vectorelemente in einen anderen Vector kopieren Allgemeine Java-Themen 12
J Bilder halb in falscher Farbe nach kopieren aus Web Allgemeine Java-Themen 3
D Mit Hilfe von Java aus Excel-Sheet Zellen in neues Excel Dokument kopieren Allgemeine Java-Themen 3
K NetBeans Ordner bei 'Clean&Build' automatisch in dist Verzeichnis kopieren Allgemeine Java-Themen 0
T Ordner samt Dateien kopieren Allgemeine Java-Themen 11
Todesbote Zeilen aus Excel in andere Excel Tabelle kopieren Allgemeine Java-Themen 0
T Mit Apache Poi Daten aus einer Excel Tabelle kopieren und in Word einfügen Allgemeine Java-Themen 1
A Collections Array-Elemente in ArrayList kopieren ohne Schleife Allgemeine Java-Themen 7
P jar aus der jar kopieren XD Allgemeine Java-Themen 4
M Pakete in Ordner Kopieren Allgemeine Java-Themen 7
D File mit Inhalt kopieren und dieses File dann neu erstellen ? Allgemeine Java-Themen 4
kodela Problem mit Kopieren über FileChannel Allgemeine Java-Themen 4
H Kopieren sehr langsam Allgemeine Java-Themen 5
I Java Ordner kopieren [Error] Allgemeine Java-Themen 6
E Files Kopieren Allgemeine Java-Themen 8
P Daten kopieren mit nio - Zugriff verweigert Allgemeine Java-Themen 8
Z Ausschneiden, Kopieren, Einfügen, Löschen in JTextArea Allgemeine Java-Themen 5
S exe Kopieren Allgemeine Java-Themen 11
E Ordner rekursiv kopieren Allgemeine Java-Themen 8
J Standard-I´/O kopieren Allgemeine Java-Themen 5
R kopieren von Dateien und Verzeichnissen - UNICODE? Allgemeine Java-Themen 4
S Kopieren von Datei führt zu Beschädigung Allgemeine Java-Themen 7
D markierten Text kopieren Allgemeine Java-Themen 2
O ist tiefes Kopieren sinnvoll? Allgemeine Java-Themen 14
B Zertifikat des Users speichern (serialisieren oder kopieren) Allgemeine Java-Themen 2
S Dateiinhalt kopieren Allgemeine Java-Themen 4
G Object mit clone kopieren Allgemeine Java-Themen 21
F Kopieren eines Objekts Allgemeine Java-Themen 3
D Kopieren und Einfügen Allgemeine Java-Themen 8
C Kopieren von Dateien die von einem anderen Programm verwendet werden? Allgemeine Java-Themen 7
E Blob Element kopieren Allgemeine Java-Themen 12
D mit java kopieren und umbenennen Allgemeine Java-Themen 6
X Objektsammlung clonen bzw. kopieren Allgemeine Java-Themen 5
A Beim Kopieren werden Bilder verfälscht Allgemeine Java-Themen 3
V Dateien kopieren Allgemeine Java-Themen 6
N Daten auf Server kopieren Allgemeine Java-Themen 6
Q Iterator kopieren Allgemeine Java-Themen 6
M Wie in Eclipse Quellcode incl. Zeilennummern kopieren? Allgemeine Java-Themen 6
G Daten von Excel kopieren - sinnvolle Datenstruktur? Allgemeine Java-Themen 3
P Eigene Klasse kopieren die auf sich selbst refferenziert Allgemeine Java-Themen 8
J Externes Programm - Konsolenausgabe kopieren/sichtbar machen Allgemeine Java-Themen 22
C File in Jar kopieren? Allgemeine Java-Themen 9
G ANT und Verzeichnisstruktur kopieren Allgemeine Java-Themen 2
G Datei löschen nach kopieren geht nicht Allgemeine Java-Themen 5
R Dateien lokal kopieren Allgemeine Java-Themen 6
P Objekt kopieren Allgemeine Java-Themen 8
hdi ArrayList kopieren? Allgemeine Java-Themen 8
G Datei kopieren Allgemeine Java-Themen 27
O Vektor kopieren (Inhalt, nicht Referenzen) Allgemeine Java-Themen 3
I Teile von ArrayList in eine andere kopieren? Allgemeine Java-Themen 2
V Datei kopieren und Datum erhalten Allgemeine Java-Themen 2
V Sich selbst kopieren (Jar- Datei) Allgemeine Java-Themen 3
G Code mit Zeilennummern kopieren? Allgemeine Java-Themen 3
S Stream ohne Referenz kopieren ? Allgemeine Java-Themen 4
M variable übergeben NICHT KOPIEREN Allgemeine Java-Themen 12
P String in Array kopieren Allgemeine Java-Themen 3
S Dateien auf Diskette kopieren Allgemeine Java-Themen 3
M Datei kopieren? Allgemeine Java-Themen 2
MQue Array in ein anderes Array kopieren Allgemeine Java-Themen 5
D aufruf beim kopieren Allgemeine Java-Themen 11
G Objekt dynamisch erstellen und Inhalte kopieren Allgemeine Java-Themen 6
K Datei kopieren Allgemeine Java-Themen 2
M 2-dimensionalen array schnell kopieren Allgemeine Java-Themen 6
T Text aus Java-Applet kopieren. Allgemeine Java-Themen 14
TheJavaKid Textformatierung bei Kopieren übernehmen Allgemeine Java-Themen 8
P Mehrzeiligen Text aus JTA lesen und in andere JTA kopieren Allgemeine Java-Themen 7
S Objekte kopieren Allgemeine Java-Themen 6
W Dateien über Clipboard kopieren Allgemeine Java-Themen 2
G InputStream kopieren? Allgemeine Java-Themen 6
G In Windows Datei kopieren Allgemeine Java-Themen 2
G Text aus Chatfenster kopieren Allgemeine Java-Themen 7
M Cache & Datein kopieren Allgemeine Java-Themen 3
R Problem bei Kopieren eines Ordners Allgemeine Java-Themen 13
J Nicht-static variable in static variable kopieren - wie? Allgemeine Java-Themen 14
m@nu Kopieren beschleunigen Allgemeine Java-Themen 3
T Musikdateien von CD Kopieren Allgemeine Java-Themen 4
M Bild in Zwischenablage kopieren? Allgemeine Java-Themen 7
bernd Problem beim kopieren! Allgemeine Java-Themen 2
G Dateien werden beim Kopieren zerstört Allgemeine Java-Themen 4
N Schnellste Art Dateien zu kopieren Allgemeine Java-Themen 16

Ähnliche Java Themen


Oben