Frage von Crysali, 34

Inhalt einer Seite abrufen ( Informatik)?

Hallo, ich lerne momentan hobbymäßig Programmieren ( oder eher gesagt, mit Code zu spielen) und habe mich nun gefragt, ob es möglich ist, Inhalt von Websiten zu lesen.

Könnte ich beispielsweise die Titel von Fragen von Gutefrage.net abrufen und mir anzeigen lassen ?

Ich bin auf den Begriff API gestoßen, ich bin mir nicht sicher, ob das etwas damit zu tun hat, aber könnte ich auch anders Informationen aus Artikeln erhalten ( beispielsweise einen Zeitungsartikel, dessen Veröffentlichungsdatum, usw.). Das sind ja alles Daten, die ich als Nutzer sehen kann, kann ich diese über Code auch abrufen, ohne die Seite selbst zu besuchen ( a.k.a. Newsletter) ?

Antwort
von Schachpapa, 11

Ja das geht. Wie das genau geht, hängt von der Programmiersprache ab, in Java z.B. so

    public static void main(String[] args) throws IOException  {
URL url = new URL ( "http://www.gutefrage.net" );
Scanner s = new Scanner(url.openStream());
while (s.hasNext()) {
System.out.println(s.nextLine());
}
}

allerdings bekommst du dann den Quelltext der Seite. Da musst du dir die gewünschte Info rauspulen.

Antwort
von TanteHolger, 3

Wäre gut zu wissen, was für eine Anwendung Du scriptest. Eine Webanwendung (Webseite) oder ein lokales Programm?

Kommentar von Crysali ,

Ich hätte erst mal auf lokale Anwendung abgezielt ( so etwas wie Windows Form). Es geht um sehr einfache Sachen wie einen string oder einen integer.

Kommentar von TanteHolger ,

Die einfachste und schnellste Methode wäre dann File.ReadAllText.
Da ich C# besser kann als Basic poste ich einfach mal ein C#-Beispiel.

string text = File.ReadAllText(@"c:\test.txt", Encoding.UTF8);

Den String kannst Du dann weiter verarbeiten.
Webseiten würde ich mit einer Browserkomponente Lesen und verarbeiten.


Kommentar von TanteHolger ,

Hier noch ein Beispiel des Webseiten lesens mit WebClient in C#

using System.Net;
using System.IO;

private void showwebsource()
{
WebClient client = new WebClient();
try
{
string sitestring = client.DownloadStrinhttp://www.google.de.de");
richTextBox1.AppendText(sitestring);
}
catch (Exception e)
{
richTextBox1.AppendText(e.ToString());
}
}
Antwort
von Schedixx, 14

Kannst auch einfach f12 drücken

Keine passende Antwort gefunden?

Fragen Sie die Community