Informatik I: Einführung in die Programmierung



Ähnliche Dokumente
Informatik I: Einführung in die Programmierung

Informatik I: Einführung in die Programmierung

Informatik I: Einführung in die Programmierung

Informatik I. 21. Das WWW befragen Albert-Ludwigs-Universität Freiburg. Informatik I. Bernhard Nebel. Motivation. Webseiten und HTML

Informatik I: Einführung in die Programmierung

HTML5. Wie funktioniert HTML5? Tags: Attribute:

BFV Widgets Kurzdokumentation

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Einführung Responsive Webdesign

BFV Widget Kurzdokumentation

Drägerware.ZMS/FLORIX Hessen

Anwendungsprotokolle: HTTP, POP, SMTP

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Allgemeiner Leitfaden zum Einfügen suchmaschinenoptimierter Texte

Erstellen eines Screenshot

Design anpassen eine kurze Einführung

Webalizer HOWTO. Stand:

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

e-books aus der EBL-Datenbank

CSS-Grundlagen. Etwas über Browser. Kapitel. Die Vorbereitung

Sicherheitseinstellungen... 2 Pop-up-Fenster erlauben... 3

Windows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten

Webhost Unix Statistik

Anleitung zum Login. über die Mediteam- Homepage und zur Pflege von Praxisnachrichten

Wollen Sie einen mühelosen Direkteinstieg zum Online Shop der ÖAG? Sie sind nur einen Klick davon entfernt!

Online Newsletter III

Wie installiere ich das CAcert Root-Zertifikat?

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

WEBSEITEN ENTWICKELN MIT ASP.NET

> Mozilla Firefox 3.5

Viele Bilder auf der FA-Homepage

> Mozilla Firefox 3. Browsereinstellungen optimieren. Übersicht. Stand Juli Seite. Inhalt. 1. Cache und Cookies löschen

9 Auto. Rund um das Auto. Welche Wörter zum Thema Auto kennst du? Welches Wort passt? Lies die Definitionen und ordne zu.

Wie Sie sich einen eigenen Blog einrichten können

Bedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien

Den Fehler session error bei der Kalenderanmeldung beheben:

Wie Sie mit Mastern arbeiten

Internet Explorer Version 6

Wie das genau funktioniert wird Euch in diesem Dokument Schritt für Schritt erklärt. Bitte lest Euch alles genau durch und geht entsprechend vor!

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

Quiz mit Google Docs erstellen

Stammzertifikat Importieren

Da die Bedienung des Editors viele Möglichkeiten aufweist, aber auch etwas Übung voraussetzt, haben wir ihm ein eigenes Unterkapitel gewidmet.

Wie funktioniert das WWW? Sicher im WWW

NODELOCKED LIZENZ generieren (ab ST4)

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

3. Baumstrukturen. 3.1 Dateien und Ordner

ecaros2 - Accountmanager

Aktuell 2014 als Startseite der PK-Website auf Firefox einstellen

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Download unter:

BAYERISCHES STAATSMINISTERIUM DES INNERN

Anleitung für den Zugriff auf Mitgliederdateien der AG-KiM

«Integration in WebSite» HTML-/Javascript-Code-Beispiele

Erstellen eines HTML-Templates mit externer CSS-Datei

Anleitung für die Registrierung und das Einstellen von Angeboten

Java Script für die Nutzung unseres Online-Bestellsystems

Anmeldung und Zugang zum Webinar des Deutschen Bibliotheksverbandes e.v. (dbv)

Tipps & Tricks Neuerungen Nr. 5/ Externe Web-Shops im UniKat für Laborverbrauchsmaterial & Chemikalien

ÖVSV Mitglieder-Datenbank. Benutzerhandbuch Version 1.2.1

COMPUTER MULTIMEDIA SERVICE

Individuelle Formulare

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

Für die Verwendung des Wikis wird dringend der Microsoft Internet Explorer Version 7.0 empfohlen!

Anleitung: Ändern von Seiteninhalten und anlegen eines News Beitrags auf der Homepage des DAV Zorneding

Import des persönlichen Zertifikats in Outlook Express

Anleitungen zum Einfügen eines Partnerlinks in Ihre Website

Sie wollen Was heißt das? Grundvoraussetzung ist ein Bild oder mehrere Bilder vom Wechseldatenträger

ModeView Bedienungsanleitung

Installationsanweisung Gruppenzertifikat

Einführung in PHP. (mit Aufgaben)

Überprüfung der digital signierten E-Rechnung

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager

Nutzungsmöglichkeiten der interaktiven Westoverledingen Karte

Verwalten Sie Ihre Homepage von überall zu jeder Zeit! Angebote und Informationen auf

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

etoken mit Thunderbird verwenden

SANDBOXIE konfigurieren

Plugins. Stefan Salich Stand

Inhalt: Ihre persönliche Sedcard... 1 Login... 1 Passwort vergessen... 2 Profildaten bearbeiten... 3

Anleitung für Vermieter

Schiller-Gymnasium Hof

Verknüpfung zum Angebotsassistenten erstellen

Abruf und Versand von Mails mit Verschlüsselung

Einrichten eines HBCI- Zugangs mit Bank X 5.1

Aufruf der Buchungssystems über die Homepage des TC-Bamberg

Xylem WebService Demo Kurzbedienungsanleitung

Import des Client-Zertifikats

Anwendungsbeispiele Buchhaltung

Eine Anwendung mit InstantRails 1.7

Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Transkript:

Informatik I: Einführung in die Programmierung 21. Das WWW befragen Albert-Ludwigs-Universität Freiburg Bernhard Nebel 13.01.2015

1 13.01.2015 B. Nebel Info I 3 / 17

Oft braucht ein Programm Informationen, die es im WWW einfach zu finden gibt. Dazu müsste man bloß kurz eine Webseite aufrufen und ein Detail nachschlagen. Zum Beispiel wollen wir die aktuelle Temperatur wissen. Könnte das nicht ein kleines Skript für uns tun? Auf http://www.wetteronline.de findet man die aktuelle Temperatur ziemlich weit oben auf der Seite. 13.01.2015 B. Nebel Info I 4 / 17

2 13.01.2015 B. Nebel Info I 6 / 17

HTML Alle bestehen aus Texten (und Bildern) mit HTML-Formatanweisungen (Hypertext markup language). Die HTML-Anweisungen beschreiben, wie bestimmte Textteile erscheinen sollen. HTML-Formatanweisungen kommen normalerweise in Paaren, z.b. <h1> und </h1> für Überschriften. Generell wird eine öffnende Markierung <mark> durch eine schließende Markierung abgeschlossen: </mark>. Bei der öffnenden Markierung werden oft noch weitere Attribute angegeben, z.b. <table border= 2 >. Außerdem können die Dateien weitere Formatanweisungen (CSS) und aktive Komponenten (Javascript) enthalten. Eine gute Einführung findet sich z.b. auf http://de.selfhtml.org/. 13.01.2015 B. Nebel Info I 7 / 17

Genereller Aufbau einer Webseite HTML page <!DOCTYPE html> <!-- kann hier auch mehr stehen --> <html> <!-- Jede HTML-Seite beginnt damit --> <head> <!-- leitet Head-Sektion ein --> <meta...> </head> <body> <!-- hier nach folgt der Seitentext -->... <!-- der verschiedene Markierungen nutzt --> </body> </html> 13.01.2015 B. Nebel Info I 8 / 17

Wie bekommt man die Information? Man kann sich den Quellcode der Webseite anschauen. Normalerweise findet man schnell ein Pattern, das zutreffend ist. Schauen wir uns den Quellcode der http://www.wetteronline.de/freiburg-seite an. Seite anwählen, dann rechts klicken und Quelltext anschauen wählen; ggfs. Text vorher markieren. Nach dem Text suchen. Pattern konstruieren! 13.01.2015 B. Nebel Info I 9 / 17

Regulären Ausdruck konstruieren Am besten nach id=... name schauen, da diese eindeutig auf der HTML-Seite sind. Bei uns ist folgende Zeile relevant: <div id="current-weather">... Möglicher regulärer Ausruck: r <div[ˆ>]*id="current-weather"> <span>aktuell</span> <span class="temperature tooltip gt0">(\d+) C</span>... zumindest solange sich nichts ändert...... zund die Temperaturen über Null liegen... Aber wie kommen wir an die Webseite? urllib 13.01.2015 B. Nebel Info I 10 / 17

3 13.01.2015 B. Nebel Info I 12 / 17

bietet komfortable Schnittstellen, um auf Ressourcen im WWW zuzugreifen. Das enthält mehrere Module: urllib.request: Enthält Funktionen und Klassen zum Zugriff auf Ressourcen im Internet. urllib.parse: Unterstützt das Parsen von URLs (Universal Resource Locators). Die wichtigste Funktionen aus urllib.request ist: urlopen(url, data=none, timeout, *, cafile=none, capath=none, cadefault=false): Stellt ein Datei-ähnliches Objekt zur Verfügung. url ist die URL, auf die zugegriffen werden soll; data sind zusätzliche Daten, die bei einer Anfrage geschickt werden; timeout ist ein optionaler Parameter für eine obere Zeitschranke. Die anderen Parameter sind für Zertifikate (bei HTTPS). Nach urlopen kann man auf dem resultierenden Objekt read-methoden anwenden und erhält bytes zurück. 13.01.2015 B. Nebel Info I 13 / 17

Eine Webseite anschauen wetter.py from urllib.request import urlopen showlines = 10 remotefile = urlopen("http://www.wetteronline.de/") # method to get info about connection print(remotefile.info()) # read all lines remotedata = remotefile.readlines() remotefile.close() for line in remotedata[:showlines]: print(line) 13.01.2015 B. Nebel Info I 14 / 17

Browser vortäuschen So funktionierte es jedenfalls letztes Jahr. Heute kommt eine Fehlermeldung "HTTP Error 403: Forbidden betreiber mögen keine Zugriffe über Skripte (s.u.). Vortäuschung falscher Tatsachen: wetter1.py... from urllib.request import Request req = Request(url="http://www.wetteronline.de/", data=b None,headers={ User-Agent : Mozilla/5.0 \ (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 \ Firefox/12.0 }) remotefile = urlopen(req)... Das täuscht einen Firefox-Browser vor. 13.01.2015 B. Nebel Info I 15 / 17

Die Temperatur checken temperature.py import re... remotedata = remotefile.read().decode( utf8 ) remotefile.close() rx = re.compile(r <div[^>]*id="current-weather">\ \s* \s*<span>aktuell</span>\s*<span class=\ "temperature tooltip gt0">(\d+) C</span>, re.i+re.m) print("die Temperatur beträgt zur Zeit", rx.search(remotedata).group(1), "Grad Celsius") 13.01.2015 B. Nebel Info I 16 / 17

Web-Scraping Auf diese Weise, die man Scraping nennt, kann man beliebige interessante Informationen von sammeln und z.b. per E-Mail verschicken. Zum Beispiel: Was gibt es heute in der Mensa? Aber Vorsicht: Webdesigner ändern gerne öfter mal das Seitenlayout. Seitenbetreiber lieben das Scraping nicht, speziell wenn es zu starker Belastung des Webservers führt. Das umfangreiche Kopieren und auf eigener Webseite zur Verfügung stellen ist im Übrigen Missbrauch! Manchmal gibt es Maßnahmen gegen den Zugriff durch Skripte. Manche Seitenbetreiber bieten auch Webservices an, über die man dann per definierter Schnittstelle maschinenlesbar Daten bekommen kann (Beispiel: der Wetterservice www.wunderground.com). 13.01.2015 B. Nebel Info I 17 / 17