Sturmverliebt: News auslesen

Hi,

ich möchte gerne auf dieser Seite http://www.kvb-koeln.de/qr/609/ die "FAHRPLANUNREGELMÄSSIGKEITEN" auslesen. Wenn ich mir den Quelltext ansehe, sehe ich diese News allerdings nicht. Meine Frage woher kommen die und habe ich eine Chance mit PHP z.B. die News auszulesen?

  1. Hi,

    ich möchte gerne auf dieser Seite http://www.kvb-koeln.de/qr/609/ die "FAHRPLANUNREGELMÄSSIGKEITEN" auslesen. Wenn ich mir den Quelltext ansehe, sehe ich diese News allerdings nicht. Meine Frage woher kommen die und habe ich eine Chance mit PHP z.B. die News auszulesen?

    Ungesehen, nicht im Quelltext, wahrscheinlich kommts per Ajax und wenn das so ist, dann kannst du solchen einen Request auch feuern, da kommt entweder JSON oder XML oder was Anderes, idealerweise nur Daten ;)

    Horst Schraubschnell

    1. Für mich ist das absolutes Neuland, ich wollte aber schon immer mal wissen, wie das geht. Ist das eigentlich "legal", sich von anderen Seiten zu bedienen?

      Wie auch immer. Gehen wir davon aus, dass es legal ist: Habt Ihr ein paar gute Schlagwörter und Links zu dem Thema, wenn man absoluter Laie ist, was diese "Technik" angeht?

      Vielen Dank!

      1. Hi,

        Ist das eigentlich "legal", sich von anderen Seiten zu bedienen?

        Wenn man eine Genehmigung vom Betreiber der anderen Seite hat, ja.
        Ansonsten dürfte es von diversen schwer überschaubaren Faktoren abhängen.

        Wie auch immer. Gehen wir davon aus, dass es legal ist:

        Warum sollen wir vom unwahrscheinlichen Fall ausgehen?

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        O o ostern ...
        Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
        1. @@MudGuard:

          nuqneH

          Wie auch immer. Gehen wir davon aus, dass es legal ist:

          Warum sollen wir vom unwahrscheinlichen Fall ausgehen?

          Weil der Anbieter in diesem Fall ein API zur Verfügung stellt, über das man leicht an die Informationen kommt.

          Qapla'

          --
          „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
      2. Für mich ist das absolutes Neuland, ich wollte aber schon immer mal wissen, wie das geht. Ist das eigentlich "legal", sich von anderen Seiten zu bedienen?

        Du möchtest Deinen Zug nicht verpassen, also bedienst Du Dich eines Fahrplans, der freundlicherweise im Internet bereitgestellt wurde.

        Anders wirds jedoch, wenn Du den Fahrplan 1:1 kopierst und selbst anbieten willst. Hierzu informiere Dich beim Urheber.

        Wie auch immer. Gehen wir davon aus, dass es legal ist: Habt Ihr ein paar gute Schlagwörter und Links zu dem Thema, wenn man absoluter Laie ist, was diese "Technik" angeht?

        Technik AJAX? Suchbegriffe: ajax, xmlhttprequest

        MfG

  2. Mahlzeit,

    Wenn ich mir den Quelltext ansehe, sehe ich diese News allerdings nicht.

    Ab Zeile 374:

    	<!-- diff: 48 -->  
    		<div class="qr_top_head_rot_small">Fahrplanunregelmässigkeiten</div>  
    		<table width="100%" cellpadding="0" cellspacing="0" class="qr_table" style="border-bottom:8px solid #fff;"><tr style="background-color:#ededed;"><td class="qr_td" style="padding:8px;font-size:0.85em;" valign="center">&nbsp;Derzeit liegen an dieser Haltestelle keine Störungen vor.</td></tr></table>
    

    Grauenhafter Code, kann daher aber zumindest als schlechtes Beispiel dienen. Ich würde sagen, der "Webmaster" musste nen Eignungstest machen und es wurde der einstellt, der am schlechtesten abgeschnitten hat.

    Per PHP kommst du da z.B. per cURL ran. HTML-Parser gibts fertig oder du baust dir einen selber.

    Wenn du diese Daten aber auf deiner eigenen Seite nutzt, solltest du das erstmal rechtlich abklären. Ohne schriftliche Erlaubnis darfst du das nicht.

    --
    42
    1. Hi,

      Ab Zeile 374:

      <!-- diff: 48 -->  
      
        <div class="qr_top_head_rot_small">Fahrplanunregelmässigkeiten</div>  
        <table width="100%" cellpadding="0" cellspacing="0" class="qr_table" style="border-bottom:8px solid #fff;"><tr style="background-color:#ededed;"><td class="qr_td" style="padding:8px;font-size:0.85em;" valign="center">&nbsp;Derzeit liegen an dieser Haltestelle keine Störungen vor.</td></tr></table>
      
        
      Seit ich mit der Bahn fahre kenne ich die Seite, also gut 10 Jahre. In dieser Zeit wurde eigentlich nie groß etwas geändert. Vielleicht war es ja vor 10 Jahren noch modern ;)  
        
      
      > Per PHP kommst du da z.B. per cURL ran. HTML-Parser gibts fertig oder du baust dir einen selber.  
        
      Danke, dann schau ich mir mal die Funktion etwas genauer an.  
        
      
      > Wenn du diese Daten aber auf deiner eigenen Seite nutzt, solltest du das erstmal rechtlich abklären. Ohne schriftliche Erlaubnis darfst du das nicht.  
        
      Diese Seite wird nie öffentlich zugänglich sein. Ist nur für mich um nicht immer auf die Seite gehen zu müssen.
      
  3. ich möchte gerne auf dieser Seite http://www.kvb-koeln.de/qr/609/ die "FAHRPLANUNREGELMÄSSIGKEITEN" auslesen.

    Ich kam nicht umhin, eine Python-3-Angeberei zusammenzubasteln:

    import requests, lxml.html  
      
    r = requests.get("http://www.kvb-koeln.de/qr/609/", headers = {"User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0"})  
      
    if r.status_code != 200:  
    	print("Fehler: Server antwortete mit {}.".format(r.status_code))  
    else:  
    	html = lxml.html.fromstring(r.text)  
    	tabelle = html.xpath("//div[@id='content']/div[1]/table[1]")  
      
    	if len(tabelle) != 1:  
    		print("Fehler: Meldungstabelle nicht auffindbar.")  
    	else:  
    		print(tabelle[0].text_content().strip())  
    
    

    Beachte, dass du eine User-Agent-Zeile mit "anständigem" Browser mitschicken musst, der Server verweigert sonst den Zugriff. Automatisierte Abfragen sieht die KVB offenbar nicht so gern.