Daten aus Website einbauen

Neue Frage »

Auf diesen Beitrag antworten »
Björn Daten aus Website einbauen

Meine Frage:
Hallo Leute,

eine weitere Frage: Ist es eigentlich möglich, in Java bestimmte Websiten einzubauen? Ich meine damit, dass dann die einzelnen Wörter vielleicht in einem Array gespeichert werden und dann die Website ausgewertet werden kann?

Meine Ideen:
Vielen Dank :-)
 
Auf diesen Beitrag antworten »
Björn

Programmiersprache ist JAVA (Ich vergesse es immer wieder :-))
Auf diesen Beitrag antworten »
eulerscheZahl

Was meinst du mit einbauen?
Willst du den Inhalt auslesen und Informationen herausziehen?
Willst du in deinem Programm einen Browser anzeigen?

Das habe ich bisher beides nur in C# gemacht, aber bei ersterem bin ich mir sicher, dass es auch in Java keine große Kunst ist (dynamisch mit JavaScript geladener Inhalt könnte etwas knifflig werden).

Eine detailliertere Antwort gibt es erst, wenn du die Frage spezifizierst.
Auf diesen Beitrag antworten »
Björn

Zitat:
Willst du den Inhalt auslesen und Informationen herausziehen? Willst du in deinem Programm einen Browser anzeigen?


Genau, ich möchte den Inhalt auslesen lassen. Ein Browser soll nicht angezeigt werden.
 
Auf diesen Beitrag antworten »
eulerscheZahl

Ich habe mal etwas von hier zusammenkopiert: http://stackoverflow.com/questions/19293...webpage-in-java
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;

public class Main {

	public static void main(String[] args) {
		try {
			System.out
					.println(getUrlSource("http://www.informatikerboard.de/board/thread.php?postid=10227#post10227"));
		} catch (IOException e) {
			System.out.println("Lesefehler");
		}
	}

	private static String getUrlSource(String urlString) throws IOException {
		StringBuilder result = new StringBuilder();
		URL url = new URL(urlString);
		URLConnection spoof = url.openConnection();

		spoof.setRequestProperty("User-Agent",
				"Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0; H010818)");
		BufferedReader in = new BufferedReader(new InputStreamReader(
				spoof.getInputStream()));
		String line = "";

		while ((line = in.readLine()) != null) {

			result.append(line + "\n");
		}
		in.close();
		return result.toString();
	}
}

Der Useragenet entspricht zwar nicht dem, was ich verwende, funktioniert aber. Wenn ich die Zeile auskommentiere, klappt es nicht mehr.
Auf diesen Beitrag antworten »
Björn

Vielen lieben Dank :-)
Auf diesen Beitrag antworten »
Mike

Guten Morgen,

bietet Java die Möglichkeit, ausgelesenen Code auf eine einheitliche Schriftart zu bekommen? Das Problem ist: Eine Website wird ausgelesen und nach einem bestimmten Char gesucht. Bei einem Quelltext wird das Zeichen gefunden, bei einer anderen Website mit dementsprechend anderen Quelltext findet das Programm das gleiche Zeichen nicht. Daher kann es nur an unterschiedlichen Schriftarten, etc. liegen?

Vielen Dank.
Auf diesen Beitrag antworten »
eulerscheZahl

Bei Code handelt es sich um reinen ASCII Text. Dort gibt es keine Schriftart, die Darstellung (Syntaxhighlighting) ist Sache des Editors.
Gib Links zu dein Seiten und den Text, nach dem du suchst an. Dann kann ich dir vielleicht sagen, warum es nicht klappt.
Auf diesen Beitrag antworten »
Mike

Leider habe ich zu wenige Beiträge verfasst um Links zu posten, deshalb habe ich das www und de entfernt. Mein Problem:

Ich versuche die Zeiten (sprich 09:30 etc.) auszulesen. Daher habe ich den Doppelpunkt als Zeichen suchen lassen und dann mit Substrings gearbeitet. Allerdings finden sich auf die ganze Seite verteilt nur zwei Doppelpunkte, müssten aber viel mehr sein.

Hier auch mein Code dazu:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
package read_website_file;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;

public class Read_Website_File 
{
    public static void main(String[] args) 
    {
	try 
        {
            getUrlSource("hof-university./studierende/info-service/stundenplaene.html?tx_stundenplan_stundenplan[action]=list&tx_stundenplan_stundenplan[controller]=Stundenplan&tx_stundenplan_stundenplan[save]=&tx_stundenplan_stundenplan[studiengang]=MI&tx_stundenplan_stundenplan[semester]=4_SS_2016&tx_stundenplan_stundenplan[view]=alle#jpoint");
	} 
        catch (IOException e) 
        {
            System.out.println("Lesefehler");
	}
    }

    private static void getUrlSource(String urlString) throws IOException 
    {
        StringBuilder result = new StringBuilder();
	URL url = new URL(urlString);
	URLConnection spoof = url.openConnection();
	spoof.setRequestProperty("User-Agent","Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0; H010818)");
	BufferedReader in = new BufferedReader(new InputStreamReader(spoof.getInputStream()));
	String line = "";
        int i=0; 
        
	while ((line = in.readLine()) != null) 
        {
            result.append(line);
            if (result.charAt(i)==':')
            {
                System.out.println(result.substring(i-2,i+3));
            }
            ++i;
        }
    }
}
Auf diesen Beitrag antworten »
eulerscheZahl

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;

public class Read_Website_File
{
	public static void main(String[] args)
	{
		try
		{
			String page = getUrlSource("http://www.hof-university.de/studierende/info-service/stundenplaene.html?tx_stundenplan_stundenplan[action]=list&tx_stundenplan_stundenplan[controller]=Stundenplan&tx_stundenplan_stundenplan[save]=&tx_stundenplan_stundenplan[studiengang]=MI&tx_stundenplan_stundenplan[semester]=4_SS_2016&tx_stundenplan_stundenplan[view]=alle#jpoint");
			while (page.contains("<span class=\"ttm_date\">")) {
				page = page.substring(page.indexOf("<span class=\"ttm_date\">") + "<span class=\"ttm_date\">".length(), page.length() - 1);
				System.out.println(page.substring(0, page.indexOf("</span>")).replace("\n", ""));
			}
		} catch (Exception e)
		{
			System.out.println(e.toString());
		}
	}

	private static String getUrlSource(String urlString) throws IOException
	{
		StringBuilder result = new StringBuilder();
		URL url = new URL(urlString);
		URLConnection spoof = url.openConnection();
		spoof.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0; H010818)");
		BufferedReader in = new BufferedReader(new InputStreamReader(spoof.getInputStream()));
		String line = "";

		while ((line = in.readLine()) != null) {

			result.append(line + "\n");
		}
		in.close();
		return result.toString();
	}
}
Auf diesen Beitrag antworten »
Mike

Du bist der Wahnsinn, vielen Dank für die Hilfe Daumen hoch
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »