Informatik I: Einführung in die Programmierung

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

Java Webentwicklung (mit JSP)

Webalizer HOWTO. Stand:

Bedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien

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

Viele Bilder auf der FA-Homepage

3. Baumstrukturen. 3.1 Dateien und Ordner

Wie Sie mit Mastern arbeiten

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

Wie installiere ich das CAcert Root-Zertifikat?

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

CASCADING STYLE SHEETS WEBSEITEN-GESTALTUNG MIT CSS

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

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

NODELOCKED LIZENZ generieren (ab ST4)

ecaros2 - Accountmanager

Einführung in die Scriptsprache PHP

Wie funktioniert das WWW? Sicher im WWW

Drucken von Webseiten Eine Anleitung, Version 1.0

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

Toolbeschreibung: EVERNOTE

HTML. HyperText Markup Language. Die Programmiersprache des WWW. Keine eigentliche Programmiersprache, sondern eher Seitenbeschreibungssprache

BILDER TEILEN MIT DROPBOX

Anleitung für die Formularbearbeitung

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Internet online Update (Mozilla Firefox)

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Serienbrieferstellung in Word mit Kunden-Datenimport aus Excel

Drägerware.ZMS/FLORIX Hessen

Kennen, können, beherrschen lernen was gebraucht wird

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

AutoTexte und AutoKorrektur unter Outlook verwenden

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Eine eigene Seite auf Facebook-Fanseiten einbinden und mit einem Tab verbinden.

MULTIWEB Banking. Installation und Update unter Windows

Hinweise zum elektronischen Meldeformular

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

Technical Note 0606 ewon

GEONET Anleitung für Web-Autoren

Zwischenablage (Bilder, Texte,...)

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

A. Ersetzung einer veralteten Govello-ID ( Absenderadresse )

Arbeiten mit UMLed und Delphi

etoken mit Thunderbird verwenden

WEBSEITEN ENTWICKELN MIT ASP.NET

Erstellen eigener HTML Seiten auf ewon

AutoCAD Dienstprogramm zur Lizenzübertragung

So gelingt Ihre Online-Bewerbung!

Internationales Altkatholisches Laienforum

Shopz Zugang Neuanmeldung

Erstellen eines Screenshot

Angaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7

Anleitung zum Hochladen von Bilddateien in die Bilderverwaltung des CVJM Mössingen

WinWerk. Prozess 6a Rabatt gemäss Vorjahresverbrauch. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang Effretikon

Erfahrungen mit Hartz IV- Empfängern

HTML5. Grundlagen der Erstellung von Webseiten. Linda York, Tina Wegener. 2. Ausgabe, 3. Aktualisierung, Januar 2013 HTML5

Info-Veranstaltung zur Erstellung von Zertifikaten

Hinweise zum Übungsblatt Formatierung von Text:

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Erstellen einer GoTalk-Auflage

Facebook I-Frame Tabs mit Papoo Plugin erstellen und verwalten

Erfolgsmeldungen im Praxisbetrieb

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

Internetauftritt von Lotta Karotta Anleitung zur Pflege. 2 Bearbeiten eines Menüpunktes am Beispiel Test

Es gibt zahlreiche Web-Programmiersprachen: HTML, CSS, JavaScript, PHP, Perl, Python, HTTP, XML und viele weitere.

BFV Widget Kurzdokumentation

Wie benutzen Sie diese Internetseite?

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Tracking-Beispiele. Inhalt: Standard Tracking / Cookie Tracking Anchor-Tracking Direct Tracking Referer Tracking Tracking von Produkt-Feeds

HTML5 Formulare. HTML5 Formulare Seite Seite 1 von 7 Florian Bauer

App Entwicklung mit dem Android SDK

SSL/TLS-VERBINDUNGEN ZU DIENSTEN IM KVFG NETZ

2. Im Admin Bereich drücken Sie bitte auf den roten Button Webseite bearbeiten, sodass Sie in den Bearbeitungsbereich Ihrer Homepage gelangen.

Handbuch für Nutzer von Zertifikaten der Zertifizierungsstellen (CAs) des Bayerischen Behördennetzes (BYBN) zur Sicherung von s Teil C3:

IINFO Storyboard

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!

Elexis-BlueEvidence-Connector

Mit dem sogenannten Seriendruck können Etiketten und Briefe mit einer Adressdatei (z. B. Excel) verknüpft werden.

Enigmail Konfiguration

Anleitung. Datum: 29. August 2013 Version: 1.3. Affiliate-Modul. Google AdWords Kampagnen auswerten. Glarotech GmbH

Alltag mit dem Android Smartphone

Wie halte ich Ordnung auf meiner Festplatte?

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

ITT AQUAVIEW WEB-Server. Kurzbedienungsanleitung

3 Installation von Exchange

Evident VDDS-Anbindung von MIZ

Copyright MB Connect Line GmbH 2014

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

Stammdatenanlage über den Einrichtungsassistenten

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

Schuljahreswechsel im Schul-Webportal

Neue Zugangsdaten für sg-online erstellen

Verwenden von OnlineUebungen.ch nichts einfacher als das!

Transkript:

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

13.01.2015 B. Nebel Info I 2 / 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

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

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

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

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

13.01.2015 B. Nebel Info I 5 / 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

13.01.2015 B. Nebel Info I 11 / 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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