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

Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Informatik I: Einführung in die Programmierung23. Das WWW befragen

Albert-Ludwigs-Universität Freiburg

Bernhard Nebel15.01.2016

Page 2: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

Motivation

15.01.2016 B. Nebel – Info I 2 / 19

Page 3: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

Motivation

Oft braucht ein Programm Informationen, die es im WWWeinfach zu finden gibt.Dazu müsste man bloß kurz eine Webseite aufrufen undein 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 dieaktuelle Temperatur ziemlich weit oben auf der Seite.https://en.wikipedia.org/wiki/How_Not_to_Be_Seenzeigt Tipps, wie man sich unsichtbar machen kann.

15.01.2016 B. Nebel – Info I 4 / 19

Page 4: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

Motivation

Oft braucht ein Programm Informationen, die es im WWWeinfach zu finden gibt.Dazu müsste man bloß kurz eine Webseite aufrufen undein 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 dieaktuelle Temperatur ziemlich weit oben auf der Seite.https://en.wikipedia.org/wiki/How_Not_to_Be_Seenzeigt Tipps, wie man sich unsichtbar machen kann.

15.01.2016 B. Nebel – Info I 4 / 19

Page 5: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

Motivation

Oft braucht ein Programm Informationen, die es im WWWeinfach zu finden gibt.Dazu müsste man bloß kurz eine Webseite aufrufen undein 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 dieaktuelle Temperatur ziemlich weit oben auf der Seite.https://en.wikipedia.org/wiki/How_Not_to_Be_Seenzeigt Tipps, wie man sich unsichtbar machen kann.

15.01.2016 B. Nebel – Info I 4 / 19

Page 6: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

Motivation

Oft braucht ein Programm Informationen, die es im WWWeinfach zu finden gibt.Dazu müsste man bloß kurz eine Webseite aufrufen undein 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 dieaktuelle Temperatur ziemlich weit oben auf der Seite.https://en.wikipedia.org/wiki/How_Not_to_Be_Seenzeigt Tipps, wie man sich unsichtbar machen kann.

15.01.2016 B. Nebel – Info I 4 / 19

Page 7: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

Motivation

Oft braucht ein Programm Informationen, die es im WWWeinfach zu finden gibt.Dazu müsste man bloß kurz eine Webseite aufrufen undein 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 dieaktuelle Temperatur ziemlich weit oben auf der Seite.https://en.wikipedia.org/wiki/How_Not_to_Be_Seenzeigt Tipps, wie man sich unsichtbar machen kann.

15.01.2016 B. Nebel – Info I 4 / 19

Page 8: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

Motivation

Oft braucht ein Programm Informationen, die es im WWWeinfach zu finden gibt.Dazu müsste man bloß kurz eine Webseite aufrufen undein 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 dieaktuelle Temperatur ziemlich weit oben auf der Seite.https://en.wikipedia.org/wiki/How_Not_to_Be_Seenzeigt Tipps, wie man sich unsichtbar machen kann.

15.01.2016 B. Nebel – Info I 4 / 19

Page 9: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

Der elektrische Mönch . . .

Der Elektrische Mönch war ein Gerät zurArbeitseinsparung wie ein Geschirrspüler oder einVideorecorder. Geschirrspüler spülten für einen daslangweilige Geschirr und ersparten einem so dieMühe, es selber spülen zu müssen; Videorecordersahen sich für einen langweilige Fernsehprogrammean und ersparten einem so die Mühe, sie selberansehen zu müssen; Elektrische Mönche glaubtenfür einen gewisse Dinge und ersparten einem damit,was allmählich zu einer immer beschwerlicherenAufgabe wurde, nämlich alle Dinge zu glauben, diezu glauben die Welt von einem erwartete.

[Douglas Adams: Der elektrische Mönch – Dirk Gentlysholistische Detekte]15.01.2016 B. Nebel – Info I 5 / 19

Page 10: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

Der elektrische Mönch . . .

Der Elektrische Mönch war ein Gerät zurArbeitseinsparung wie ein Geschirrspüler oder einVideorecorder. Geschirrspüler spülten für einen daslangweilige Geschirr und ersparten einem so dieMühe, es selber spülen zu müssen; Videorecordersahen sich für einen langweilige Fernsehprogrammean und ersparten einem so die Mühe, sie selberansehen zu müssen; Elektrische Mönche glaubtenfür einen gewisse Dinge und ersparten einem damit,was allmählich zu einer immer beschwerlicherenAufgabe wurde, nämlich alle Dinge zu glauben, diezu glauben die Welt von einem erwartete.

[Douglas Adams: Der elektrische Mönch – Dirk Gentlysholistische Detekte]15.01.2016 B. Nebel – Info I 5 / 19

Page 11: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

Der elektrische Mönch . . .

Der Elektrische Mönch war ein Gerät zurArbeitseinsparung wie ein Geschirrspüler oder einVideorecorder. Geschirrspüler spülten für einen daslangweilige Geschirr und ersparten einem so dieMühe, es selber spülen zu müssen; Videorecordersahen sich für einen langweilige Fernsehprogrammean und ersparten einem so die Mühe, sie selberansehen zu müssen; Elektrische Mönche glaubtenfür einen gewisse Dinge und ersparten einem damit,was allmählich zu einer immer beschwerlicherenAufgabe wurde, nämlich alle Dinge zu glauben, diezu glauben die Welt von einem erwartete.

[Douglas Adams: Der elektrische Mönch – Dirk Gentlysholistische Detekte]15.01.2016 B. Nebel – Info I 5 / 19

Page 12: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

Der elektrische Mönch . . .

Der Elektrische Mönch war ein Gerät zurArbeitseinsparung wie ein Geschirrspüler oder einVideorecorder. Geschirrspüler spülten für einen daslangweilige Geschirr und ersparten einem so dieMühe, es selber spülen zu müssen; Videorecordersahen sich für einen langweilige Fernsehprogrammean und ersparten einem so die Mühe, sie selberansehen zu müssen; Elektrische Mönche glaubtenfür einen gewisse Dinge und ersparten einem damit,was allmählich zu einer immer beschwerlicherenAufgabe wurde, nämlich alle Dinge zu glauben, diezu glauben die Welt von einem erwartete.

[Douglas Adams: Der elektrische Mönch – Dirk Gentlysholistische Detekte]15.01.2016 B. Nebel – Info I 5 / 19

Page 13: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

Der elektrische Mönch . . .

Der Elektrische Mönch war ein Gerät zurArbeitseinsparung wie ein Geschirrspüler oder einVideorecorder. Geschirrspüler spülten für einen daslangweilige Geschirr und ersparten einem so dieMühe, es selber spülen zu müssen; Videorecordersahen sich für einen langweilige Fernsehprogrammean und ersparten einem so die Mühe, sie selberansehen zu müssen; Elektrische Mönche glaubtenfür einen gewisse Dinge und ersparten einem damit,was allmählich zu einer immer beschwerlicherenAufgabe wurde, nämlich alle Dinge zu glauben, diezu glauben die Welt von einem erwartete.

[Douglas Adams: Der elektrische Mönch – Dirk Gentlysholistische Detekte]15.01.2016 B. Nebel – Info I 5 / 19

Page 14: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

Webseiten und HTML

15.01.2016 B. Nebel – Info I 6 / 19

Page 15: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

HTML

Alle Webseiten bestehen aus Texten (und Bildern) mitHTML-Formatanweisungen (Hypertext markup language).Die HTML-Anweisungen beschreiben, wie bestimmteTextteile erscheinen sollen.HTML-Formatanweisungen kommen normalerweise inPaaren, z.B. <h1> und </h1> für Überschriften.Generell wird eine öffnende Markierung <mark> durcheine schließende Markierung abgeschlossen: </mark>.Bei der öffnenden Markierung werden oft noch weitereAttribute angegeben, z.B. <table border="2».Außerdem können die Dateien weitereFormatanweisungen (CSS) und aktive Komponenten(Javascript) enthalten.Eine gute Einführung findet sich z.B. aufhttp://de.selfhtml.org/.

15.01.2016 B. Nebel – Info I 8 / 19

Page 16: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

HTML

Alle Webseiten bestehen aus Texten (und Bildern) mitHTML-Formatanweisungen (Hypertext markup language).Die HTML-Anweisungen beschreiben, wie bestimmteTextteile erscheinen sollen.HTML-Formatanweisungen kommen normalerweise inPaaren, z.B. <h1> und </h1> für Überschriften.Generell wird eine öffnende Markierung <mark> durcheine schließende Markierung abgeschlossen: </mark>.Bei der öffnenden Markierung werden oft noch weitereAttribute angegeben, z.B. <table border="2».Außerdem können die Dateien weitereFormatanweisungen (CSS) und aktive Komponenten(Javascript) enthalten.Eine gute Einführung findet sich z.B. aufhttp://de.selfhtml.org/.

15.01.2016 B. Nebel – Info I 8 / 19

Page 17: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

HTML

Alle Webseiten bestehen aus Texten (und Bildern) mitHTML-Formatanweisungen (Hypertext markup language).Die HTML-Anweisungen beschreiben, wie bestimmteTextteile erscheinen sollen.HTML-Formatanweisungen kommen normalerweise inPaaren, z.B. <h1> und </h1> für Überschriften.Generell wird eine öffnende Markierung <mark> durcheine schließende Markierung abgeschlossen: </mark>.Bei der öffnenden Markierung werden oft noch weitereAttribute angegeben, z.B. <table border="2».Außerdem können die Dateien weitereFormatanweisungen (CSS) und aktive Komponenten(Javascript) enthalten.Eine gute Einführung findet sich z.B. aufhttp://de.selfhtml.org/.

15.01.2016 B. Nebel – Info I 8 / 19

Page 18: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

HTML

Alle Webseiten bestehen aus Texten (und Bildern) mitHTML-Formatanweisungen (Hypertext markup language).Die HTML-Anweisungen beschreiben, wie bestimmteTextteile erscheinen sollen.HTML-Formatanweisungen kommen normalerweise inPaaren, z.B. <h1> und </h1> für Überschriften.Generell wird eine öffnende Markierung <mark> durcheine schließende Markierung abgeschlossen: </mark>.Bei der öffnenden Markierung werden oft noch weitereAttribute angegeben, z.B. <table border="2».Außerdem können die Dateien weitereFormatanweisungen (CSS) und aktive Komponenten(Javascript) enthalten.Eine gute Einführung findet sich z.B. aufhttp://de.selfhtml.org/.

15.01.2016 B. Nebel – Info I 8 / 19

Page 19: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

HTML

Alle Webseiten bestehen aus Texten (und Bildern) mitHTML-Formatanweisungen (Hypertext markup language).Die HTML-Anweisungen beschreiben, wie bestimmteTextteile erscheinen sollen.HTML-Formatanweisungen kommen normalerweise inPaaren, z.B. <h1> und </h1> für Überschriften.Generell wird eine öffnende Markierung <mark> durcheine schließende Markierung abgeschlossen: </mark>.Bei der öffnenden Markierung werden oft noch weitereAttribute angegeben, z.B. <table border="2».Außerdem können die Dateien weitereFormatanweisungen (CSS) und aktive Komponenten(Javascript) enthalten.Eine gute Einführung findet sich z.B. aufhttp://de.selfhtml.org/.

15.01.2016 B. Nebel – Info I 8 / 19

Page 20: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

HTML

Alle Webseiten bestehen aus Texten (und Bildern) mitHTML-Formatanweisungen (Hypertext markup language).Die HTML-Anweisungen beschreiben, wie bestimmteTextteile erscheinen sollen.HTML-Formatanweisungen kommen normalerweise inPaaren, z.B. <h1> und </h1> für Überschriften.Generell wird eine öffnende Markierung <mark> durcheine schließende Markierung abgeschlossen: </mark>.Bei der öffnenden Markierung werden oft noch weitereAttribute angegeben, z.B. <table border="2».Außerdem können die Dateien weitereFormatanweisungen (CSS) und aktive Komponenten(Javascript) enthalten.Eine gute Einführung findet sich z.B. aufhttp://de.selfhtml.org/.

15.01.2016 B. Nebel – Info I 8 / 19

Page 21: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

HTML

Alle Webseiten bestehen aus Texten (und Bildern) mitHTML-Formatanweisungen (Hypertext markup language).Die HTML-Anweisungen beschreiben, wie bestimmteTextteile erscheinen sollen.HTML-Formatanweisungen kommen normalerweise inPaaren, z.B. <h1> und </h1> für Überschriften.Generell wird eine öffnende Markierung <mark> durcheine schließende Markierung abgeschlossen: </mark>.Bei der öffnenden Markierung werden oft noch weitereAttribute angegeben, z.B. <table border="2».Außerdem können die Dateien weitereFormatanweisungen (CSS) und aktive Komponenten(Javascript) enthalten.Eine gute Einführung findet sich z.B. aufhttp://de.selfhtml.org/.

15.01.2016 B. Nebel – Info I 8 / 19

Page 22: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

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 'not to be seen'></head><body> <!-- hier nach folgt der Seitentext -->... <!-- der verschiedene Markierungen nutzt --></body></html>

15.01.2016 B. Nebel – Info I 9 / 19

Page 23: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

Wie bekommt man die Information?

Man kann sich den Quellcode der Webseite anschauen.Normalerweise findet man schnell ein Pattern, daszutreffend ist.Schauen wir uns den Quellcode derhttp://www.wetteronline.de/freiburg-Seite an.Seite anwählen, dann rechts klicken und Quelltextanschauen wählen; ggfs. Text vorher markieren.Nach dem Text suchen.Pattern konstruieren!

15.01.2016 B. Nebel – Info I 10 / 19

Page 24: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

Wie bekommt man die Information?

Man kann sich den Quellcode der Webseite anschauen.Normalerweise findet man schnell ein Pattern, daszutreffend ist.Schauen wir uns den Quellcode derhttp://www.wetteronline.de/freiburg-Seite an.Seite anwählen, dann rechts klicken und Quelltextanschauen wählen; ggfs. Text vorher markieren.Nach dem Text suchen.Pattern konstruieren!

15.01.2016 B. Nebel – Info I 10 / 19

Page 25: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

Wie bekommt man die Information?

Man kann sich den Quellcode der Webseite anschauen.Normalerweise findet man schnell ein Pattern, daszutreffend ist.Schauen wir uns den Quellcode derhttp://www.wetteronline.de/freiburg-Seite an.Seite anwählen, dann rechts klicken und Quelltextanschauen wählen; ggfs. Text vorher markieren.Nach dem Text suchen.Pattern konstruieren!

15.01.2016 B. Nebel – Info I 10 / 19

Page 26: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

Wie bekommt man die Information?

Man kann sich den Quellcode der Webseite anschauen.Normalerweise findet man schnell ein Pattern, daszutreffend ist.Schauen wir uns den Quellcode derhttp://www.wetteronline.de/freiburg-Seite an.Seite anwählen, dann rechts klicken und Quelltextanschauen wählen; ggfs. Text vorher markieren.Nach dem Text suchen.Pattern konstruieren!

15.01.2016 B. Nebel – Info I 10 / 19

Page 27: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

Wie bekommt man die Information?

Man kann sich den Quellcode der Webseite anschauen.Normalerweise findet man schnell ein Pattern, daszutreffend ist.Schauen wir uns den Quellcode derhttp://www.wetteronline.de/freiburg-Seite an.Seite anwählen, dann rechts klicken und Quelltextanschauen wählen; ggfs. Text vorher markieren.Nach dem Text suchen.Pattern konstruieren!

15.01.2016 B. Nebel – Info I 10 / 19

Page 28: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

Wie bekommt man die Information?

Man kann sich den Quellcode der Webseite anschauen.Normalerweise findet man schnell ein Pattern, daszutreffend ist.Schauen wir uns den Quellcode derhttp://www.wetteronline.de/freiburg-Seite an.Seite anwählen, dann rechts klicken und Quelltextanschauen wählen; ggfs. Text vorher markieren.Nach dem Text suchen.Pattern konstruieren!

15.01.2016 B. Nebel – Info I 10 / 19

Page 29: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

Regulären Ausdruck konstruieren

Am besten nach id=. . .name schauen, da diese eindeutigauf der HTML-Seite sind.Bei uns ist folgende Zeile relevant:<div id="current-weather"> ...Möglicher regulärer Ausruck:r'<div[ˆ>]*id="current-weather">&nbsp;<span>aktuell</span><span class="temperature tooltipgt0">(\d+)&deg;C</span>'. . . zumindest solange sich nichts ändert . . .. . . zund die Temperaturen über Null liegen . . .Aber wie kommen wir an die Webseite?

→ urllib

15.01.2016 B. Nebel – Info I 11 / 19

Page 30: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

Regulären Ausdruck konstruieren

Am besten nach id=. . .name schauen, da diese eindeutigauf der HTML-Seite sind.Bei uns ist folgende Zeile relevant:<div id="current-weather"> ...Möglicher regulärer Ausruck:r'<div[ˆ>]*id="current-weather">&nbsp;<span>aktuell</span><span class="temperature tooltipgt0">(\d+)&deg;C</span>'. . . zumindest solange sich nichts ändert . . .. . . zund die Temperaturen über Null liegen . . .Aber wie kommen wir an die Webseite?

→ urllib

15.01.2016 B. Nebel – Info I 11 / 19

Page 31: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

Regulären Ausdruck konstruieren

Am besten nach id=. . .name schauen, da diese eindeutigauf der HTML-Seite sind.Bei uns ist folgende Zeile relevant:<div id="current-weather"> ...Möglicher regulärer Ausruck:r'<div[ˆ>]*id="current-weather">&nbsp;<span>aktuell</span><span class="temperature tooltipgt0">(\d+)&deg;C</span>'. . . zumindest solange sich nichts ändert . . .. . . zund die Temperaturen über Null liegen . . .Aber wie kommen wir an die Webseite?

→ urllib

15.01.2016 B. Nebel – Info I 11 / 19

Page 32: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

Regulären Ausdruck konstruieren

Am besten nach id=. . .name schauen, da diese eindeutigauf der HTML-Seite sind.Bei uns ist folgende Zeile relevant:<div id="current-weather"> ...Möglicher regulärer Ausruck:r'<div[ˆ>]*id="current-weather">&nbsp;<span>aktuell</span><span class="temperature tooltipgt0">(\d+)&deg;C</span>'. . . zumindest solange sich nichts ändert . . .. . . zund die Temperaturen über Null liegen . . .Aber wie kommen wir an die Webseite?

→ urllib

15.01.2016 B. Nebel – Info I 11 / 19

Page 33: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

Regulären Ausdruck konstruieren

Am besten nach id=. . .name schauen, da diese eindeutigauf der HTML-Seite sind.Bei uns ist folgende Zeile relevant:<div id="current-weather"> ...Möglicher regulärer Ausruck:r'<div[ˆ>]*id="current-weather">&nbsp;<span>aktuell</span><span class="temperature tooltipgt0">(\d+)&deg;C</span>'. . . zumindest solange sich nichts ändert . . .. . . zund die Temperaturen über Null liegen . . .Aber wie kommen wir an die Webseite?

→ urllib

15.01.2016 B. Nebel – Info I 11 / 19

Page 34: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

Regulären Ausdruck konstruieren

Am besten nach id=. . .name schauen, da diese eindeutigauf der HTML-Seite sind.Bei uns ist folgende Zeile relevant:<div id="current-weather"> ...Möglicher regulärer Ausruck:r'<div[ˆ>]*id="current-weather">&nbsp;<span>aktuell</span><span class="temperature tooltipgt0">(\d+)&deg;C</span>'. . . zumindest solange sich nichts ändert . . .. . . zund die Temperaturen über Null liegen . . .Aber wie kommen wir an die Webseite?

→ urllib

15.01.2016 B. Nebel – Info I 11 / 19

Page 35: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-Paket

Regulären Ausdruck konstruieren

Am besten nach id=. . .name schauen, da diese eindeutigauf der HTML-Seite sind.Bei uns ist folgende Zeile relevant:<div id="current-weather"> ...Möglicher regulärer Ausruck:r'<div[ˆ>]*id="current-weather">&nbsp;<span>aktuell</span><span class="temperature tooltipgt0">(\d+)&deg;C</span>'. . . zumindest solange sich nichts ändert . . .. . . zund die Temperaturen über Null liegen . . .Aber wie kommen wir an die Webseite?

→ urllib

15.01.2016 B. Nebel – Info I 11 / 19

Page 36: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-ScrapingDas urllib-Paket

15.01.2016 B. Nebel – Info I 12 / 19

Page 37: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-Scraping

Das urllib-Paket

Das urllib-Paket bietet komfortable Schnittstellen, umauf Ressourcen im WWW zuzugreifen.Das Paket enthält mehrere Module:

urllib.request: Enthält Funktionen und Klassen zumZugriff 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 dieURL, auf die zugegriffen werden soll; data sindzusätzliche Daten, die bei einer Anfrage geschicktwerden; timeout ist ein optionaler Parameter für eineobere Zeitschranke. Die anderen Parameter sind fürZertifikate (bei HTTPS).Nach urlopen kann man auf dem resultierenden Objektread-Methoden anwenden und erhält bytes zurück.

15.01.2016 B. Nebel – Info I 14 / 19

Page 38: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-Scraping

Das urllib-Paket

Das urllib-Paket bietet komfortable Schnittstellen, umauf Ressourcen im WWW zuzugreifen.Das Paket enthält mehrere Module:

urllib.request: Enthält Funktionen und Klassen zumZugriff 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 dieURL, auf die zugegriffen werden soll; data sindzusätzliche Daten, die bei einer Anfrage geschicktwerden; timeout ist ein optionaler Parameter für eineobere Zeitschranke. Die anderen Parameter sind fürZertifikate (bei HTTPS).Nach urlopen kann man auf dem resultierenden Objektread-Methoden anwenden und erhält bytes zurück.

15.01.2016 B. Nebel – Info I 14 / 19

Page 39: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-Scraping

Das urllib-Paket

Das urllib-Paket bietet komfortable Schnittstellen, umauf Ressourcen im WWW zuzugreifen.Das Paket enthält mehrere Module:

urllib.request: Enthält Funktionen und Klassen zumZugriff 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 dieURL, auf die zugegriffen werden soll; data sindzusätzliche Daten, die bei einer Anfrage geschicktwerden; timeout ist ein optionaler Parameter für eineobere Zeitschranke. Die anderen Parameter sind fürZertifikate (bei HTTPS).Nach urlopen kann man auf dem resultierenden Objektread-Methoden anwenden und erhält bytes zurück.

15.01.2016 B. Nebel – Info I 14 / 19

Page 40: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-Scraping

Das urllib-Paket

Das urllib-Paket bietet komfortable Schnittstellen, umauf Ressourcen im WWW zuzugreifen.Das Paket enthält mehrere Module:

urllib.request: Enthält Funktionen und Klassen zumZugriff 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 dieURL, auf die zugegriffen werden soll; data sindzusätzliche Daten, die bei einer Anfrage geschicktwerden; timeout ist ein optionaler Parameter für eineobere Zeitschranke. Die anderen Parameter sind fürZertifikate (bei HTTPS).Nach urlopen kann man auf dem resultierenden Objektread-Methoden anwenden und erhält bytes zurück.

15.01.2016 B. Nebel – Info I 14 / 19

Page 41: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-Scraping

Das urllib-Paket

Das urllib-Paket bietet komfortable Schnittstellen, umauf Ressourcen im WWW zuzugreifen.Das Paket enthält mehrere Module:

urllib.request: Enthält Funktionen und Klassen zumZugriff 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 dieURL, auf die zugegriffen werden soll; data sindzusätzliche Daten, die bei einer Anfrage geschicktwerden; timeout ist ein optionaler Parameter für eineobere Zeitschranke. Die anderen Parameter sind fürZertifikate (bei HTTPS).Nach urlopen kann man auf dem resultierenden Objektread-Methoden anwenden und erhält bytes zurück.

15.01.2016 B. Nebel – Info I 14 / 19

Page 42: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-Scraping

Das urllib-Paket

Das urllib-Paket bietet komfortable Schnittstellen, umauf Ressourcen im WWW zuzugreifen.Das Paket enthält mehrere Module:

urllib.request: Enthält Funktionen und Klassen zumZugriff 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 dieURL, auf die zugegriffen werden soll; data sindzusätzliche Daten, die bei einer Anfrage geschicktwerden; timeout ist ein optionaler Parameter für eineobere Zeitschranke. Die anderen Parameter sind fürZertifikate (bei HTTPS).Nach urlopen kann man auf dem resultierenden Objektread-Methoden anwenden und erhält bytes zurück.

15.01.2016 B. Nebel – Info I 14 / 19

Page 43: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-Scraping

Das urllib-Paket

Das urllib-Paket bietet komfortable Schnittstellen, umauf Ressourcen im WWW zuzugreifen.Das Paket enthält mehrere Module:

urllib.request: Enthält Funktionen und Klassen zumZugriff 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 dieURL, auf die zugegriffen werden soll; data sindzusätzliche Daten, die bei einer Anfrage geschicktwerden; timeout ist ein optionaler Parameter für eineobere Zeitschranke. Die anderen Parameter sind fürZertifikate (bei HTTPS).Nach urlopen kann man auf dem resultierenden Objektread-Methoden anwenden und erhält bytes zurück.

15.01.2016 B. Nebel – Info I 14 / 19

Page 44: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-Scraping

Eine Webseite anschauen

wetter.pyfrom urllib.request import urlopen

showlines = 10remotefile = urlopen("http://www.wetteronline.de/")# method to get info about connectionprint(remotefile.info())# read all linesremotedata = remotefile.readlines()remotefile.close()for line in remotedata[:showlines]:

print(line)

15.01.2016 B. Nebel – Info I 15 / 19

Page 45: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-Scraping

Browser vortäuschen

So funktionierte es jedenfalls letztes Jahr.Heute kommt eine Fehlermeldung "HTTP Error 403:Forbidden"Webseitenbetreiber mögen keine Zugriffe über Skripte(s.u.).Vortäuschung falscher Tatsachen:

wetter1.py...from urllib.request import Requestreq = 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.15.01.2016 B. Nebel – Info I 16 / 19

Page 46: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-Scraping

Browser vortäuschen

So funktionierte es jedenfalls letztes Jahr.Heute kommt eine Fehlermeldung "HTTP Error 403:Forbidden"Webseitenbetreiber mögen keine Zugriffe über Skripte(s.u.).Vortäuschung falscher Tatsachen:

wetter1.py...from urllib.request import Requestreq = 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.15.01.2016 B. Nebel – Info I 16 / 19

Page 47: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-Scraping

Browser vortäuschen

So funktionierte es jedenfalls letztes Jahr.Heute kommt eine Fehlermeldung "HTTP Error 403:Forbidden"Webseitenbetreiber mögen keine Zugriffe über Skripte(s.u.).Vortäuschung falscher Tatsachen:

wetter1.py...from urllib.request import Requestreq = 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.15.01.2016 B. Nebel – Info I 16 / 19

Page 48: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-Scraping

Browser vortäuschen

So funktionierte es jedenfalls letztes Jahr.Heute kommt eine Fehlermeldung "HTTP Error 403:Forbidden"Webseitenbetreiber mögen keine Zugriffe über Skripte(s.u.).Vortäuschung falscher Tatsachen:

wetter1.py...from urllib.request import Requestreq = 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.15.01.2016 B. Nebel – Info I 16 / 19

Page 49: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-Scraping

Browser vortäuschen

So funktionierte es jedenfalls letztes Jahr.Heute kommt eine Fehlermeldung "HTTP Error 403:Forbidden"Webseitenbetreiber mögen keine Zugriffe über Skripte(s.u.).Vortäuschung falscher Tatsachen:

wetter1.py...from urllib.request import Requestreq = 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.15.01.2016 B. Nebel – Info I 16 / 19

Page 50: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-Scraping

Browser vortäuschen

So funktionierte es jedenfalls letztes Jahr.Heute kommt eine Fehlermeldung "HTTP Error 403:Forbidden"Webseitenbetreiber mögen keine Zugriffe über Skripte(s.u.).Vortäuschung falscher Tatsachen:

wetter1.py...from urllib.request import Requestreq = 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.15.01.2016 B. Nebel – Info I 16 / 19

Page 51: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-Scraping

Die Temperatur checken

temperature.pyimport re...

remotedata = remotefile.read().decode('utf8')remotefile.close()rx = re.compile(r'<div[^>]*id="current-weather">\\s*&nbsp;\s*<span>aktuell</span>\s*<span class=\"temperature tooltip gt0">(\d+)&deg;C</span>,re.I+re.M)

print("Die Temperatur beträgt zur Zeit",rx.search(remotedata).group(1),"Grad Celsius")

15.01.2016 B. Nebel – Info I 17 / 19

Page 52: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-Scraping

Web-Scraping

Auf diese Weise, die man Scraping nennt, kann manbeliebige interessante Informationen von Webseitensammeln 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 wennes zu starker Belastung des Webservers führt.Das umfangreiche Kopieren und auf eigener Webseite zurVerfügung stellen ist im Übrigen Missbrauch!Manchmal gibt es Maßnahmen gegen den Zugriff durchSkripte.

Manche Seitenbetreiber bieten auch Webservices an,über die man dann per definierter Schnittstellemaschinenlesbar Daten bekommen kann (Beispiel: derWetterservice www.wunderground.com).

15.01.2016 B. Nebel – Info I 18 / 19

Page 53: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-Scraping

Web-Scraping

Auf diese Weise, die man Scraping nennt, kann manbeliebige interessante Informationen von Webseitensammeln 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 wennes zu starker Belastung des Webservers führt.Das umfangreiche Kopieren und auf eigener Webseite zurVerfügung stellen ist im Übrigen Missbrauch!Manchmal gibt es Maßnahmen gegen den Zugriff durchSkripte.

Manche Seitenbetreiber bieten auch Webservices an,über die man dann per definierter Schnittstellemaschinenlesbar Daten bekommen kann (Beispiel: derWetterservice www.wunderground.com).

15.01.2016 B. Nebel – Info I 18 / 19

Page 54: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-Scraping

Web-Scraping

Auf diese Weise, die man Scraping nennt, kann manbeliebige interessante Informationen von Webseitensammeln 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 wennes zu starker Belastung des Webservers führt.Das umfangreiche Kopieren und auf eigener Webseite zurVerfügung stellen ist im Übrigen Missbrauch!Manchmal gibt es Maßnahmen gegen den Zugriff durchSkripte.

Manche Seitenbetreiber bieten auch Webservices an,über die man dann per definierter Schnittstellemaschinenlesbar Daten bekommen kann (Beispiel: derWetterservice www.wunderground.com).

15.01.2016 B. Nebel – Info I 18 / 19

Page 55: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-Scraping

Web-Scraping

Auf diese Weise, die man Scraping nennt, kann manbeliebige interessante Informationen von Webseitensammeln 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 wennes zu starker Belastung des Webservers führt.Das umfangreiche Kopieren und auf eigener Webseite zurVerfügung stellen ist im Übrigen Missbrauch!Manchmal gibt es Maßnahmen gegen den Zugriff durchSkripte.

Manche Seitenbetreiber bieten auch Webservices an,über die man dann per definierter Schnittstellemaschinenlesbar Daten bekommen kann (Beispiel: derWetterservice www.wunderground.com).

15.01.2016 B. Nebel – Info I 18 / 19

Page 56: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-Scraping

Web-Scraping

Auf diese Weise, die man Scraping nennt, kann manbeliebige interessante Informationen von Webseitensammeln 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 wennes zu starker Belastung des Webservers führt.Das umfangreiche Kopieren und auf eigener Webseite zurVerfügung stellen ist im Übrigen Missbrauch!Manchmal gibt es Maßnahmen gegen den Zugriff durchSkripte.

Manche Seitenbetreiber bieten auch Webservices an,über die man dann per definierter Schnittstellemaschinenlesbar Daten bekommen kann (Beispiel: derWetterservice www.wunderground.com).

15.01.2016 B. Nebel – Info I 18 / 19

Page 57: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-Scraping

Web-Scraping

Auf diese Weise, die man Scraping nennt, kann manbeliebige interessante Informationen von Webseitensammeln 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 wennes zu starker Belastung des Webservers führt.Das umfangreiche Kopieren und auf eigener Webseite zurVerfügung stellen ist im Übrigen Missbrauch!Manchmal gibt es Maßnahmen gegen den Zugriff durchSkripte.

Manche Seitenbetreiber bieten auch Webservices an,über die man dann per definierter Schnittstellemaschinenlesbar Daten bekommen kann (Beispiel: derWetterservice www.wunderground.com).

15.01.2016 B. Nebel – Info I 18 / 19

Page 58: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-Scraping

Web-Scraping

Auf diese Weise, die man Scraping nennt, kann manbeliebige interessante Informationen von Webseitensammeln 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 wennes zu starker Belastung des Webservers führt.Das umfangreiche Kopieren und auf eigener Webseite zurVerfügung stellen ist im Übrigen Missbrauch!Manchmal gibt es Maßnahmen gegen den Zugriff durchSkripte.

Manche Seitenbetreiber bieten auch Webservices an,über die man dann per definierter Schnittstellemaschinenlesbar Daten bekommen kann (Beispiel: derWetterservice www.wunderground.com).

15.01.2016 B. Nebel – Info I 18 / 19

Page 59: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-Scraping

Web-Scraping

Auf diese Weise, die man Scraping nennt, kann manbeliebige interessante Informationen von Webseitensammeln 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 wennes zu starker Belastung des Webservers führt.Das umfangreiche Kopieren und auf eigener Webseite zurVerfügung stellen ist im Übrigen Missbrauch!Manchmal gibt es Maßnahmen gegen den Zugriff durchSkripte.

Manche Seitenbetreiber bieten auch Webservices an,über die man dann per definierter Schnittstellemaschinenlesbar Daten bekommen kann (Beispiel: derWetterservice www.wunderground.com).

15.01.2016 B. Nebel – Info I 18 / 19

Page 60: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-Scraping

Zusammenfassung

Wir müssen nicht jede Webseite selbst lesen, speziellnicht wiederkehrende Aufrufe!Das Modul urllib erlaubt den Download von Webseiten.Achtung: Webseiten-Designer und Bereitsteller vonServices lieben keine automatisierten Downloads:

Das Scrapen und Bereitstellen dieser Information ist(praktisch immer) illegal.Das Scrapen für private Zwecke sollte nicht eineübermäßige Belastung des Servers auslösen!Deshalb lehnen Webseiten bei automatisierten Klientenoft den Service ab.

Bei urllib können wir einen einen Browser vortäuschen.Mit regulären Ausdrücken können wir meist deninteressanten Teil von der Webseite extrahieren.Alternativ: Webservices nutzen!

15.01.2016 B. Nebel – Info I 19 / 19

Page 61: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-Scraping

Zusammenfassung

Wir müssen nicht jede Webseite selbst lesen, speziellnicht wiederkehrende Aufrufe!Das Modul urllib erlaubt den Download von Webseiten.Achtung: Webseiten-Designer und Bereitsteller vonServices lieben keine automatisierten Downloads:

Das Scrapen und Bereitstellen dieser Information ist(praktisch immer) illegal.Das Scrapen für private Zwecke sollte nicht eineübermäßige Belastung des Servers auslösen!Deshalb lehnen Webseiten bei automatisierten Klientenoft den Service ab.

Bei urllib können wir einen einen Browser vortäuschen.Mit regulären Ausdrücken können wir meist deninteressanten Teil von der Webseite extrahieren.Alternativ: Webservices nutzen!

15.01.2016 B. Nebel – Info I 19 / 19

Page 62: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-Scraping

Zusammenfassung

Wir müssen nicht jede Webseite selbst lesen, speziellnicht wiederkehrende Aufrufe!Das Modul urllib erlaubt den Download von Webseiten.Achtung: Webseiten-Designer und Bereitsteller vonServices lieben keine automatisierten Downloads:

Das Scrapen und Bereitstellen dieser Information ist(praktisch immer) illegal.Das Scrapen für private Zwecke sollte nicht eineübermäßige Belastung des Servers auslösen!Deshalb lehnen Webseiten bei automatisierten Klientenoft den Service ab.

Bei urllib können wir einen einen Browser vortäuschen.Mit regulären Ausdrücken können wir meist deninteressanten Teil von der Webseite extrahieren.Alternativ: Webservices nutzen!

15.01.2016 B. Nebel – Info I 19 / 19

Page 63: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-Scraping

Zusammenfassung

Wir müssen nicht jede Webseite selbst lesen, speziellnicht wiederkehrende Aufrufe!Das Modul urllib erlaubt den Download von Webseiten.Achtung: Webseiten-Designer und Bereitsteller vonServices lieben keine automatisierten Downloads:

Das Scrapen und Bereitstellen dieser Information ist(praktisch immer) illegal.Das Scrapen für private Zwecke sollte nicht eineübermäßige Belastung des Servers auslösen!Deshalb lehnen Webseiten bei automatisierten Klientenoft den Service ab.

Bei urllib können wir einen einen Browser vortäuschen.Mit regulären Ausdrücken können wir meist deninteressanten Teil von der Webseite extrahieren.Alternativ: Webservices nutzen!

15.01.2016 B. Nebel – Info I 19 / 19

Page 64: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-Scraping

Zusammenfassung

Wir müssen nicht jede Webseite selbst lesen, speziellnicht wiederkehrende Aufrufe!Das Modul urllib erlaubt den Download von Webseiten.Achtung: Webseiten-Designer und Bereitsteller vonServices lieben keine automatisierten Downloads:

Das Scrapen und Bereitstellen dieser Information ist(praktisch immer) illegal.Das Scrapen für private Zwecke sollte nicht eineübermäßige Belastung des Servers auslösen!Deshalb lehnen Webseiten bei automatisierten Klientenoft den Service ab.

Bei urllib können wir einen einen Browser vortäuschen.Mit regulären Ausdrücken können wir meist deninteressanten Teil von der Webseite extrahieren.Alternativ: Webservices nutzen!

15.01.2016 B. Nebel – Info I 19 / 19

Page 65: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-Scraping

Zusammenfassung

Wir müssen nicht jede Webseite selbst lesen, speziellnicht wiederkehrende Aufrufe!Das Modul urllib erlaubt den Download von Webseiten.Achtung: Webseiten-Designer und Bereitsteller vonServices lieben keine automatisierten Downloads:

Das Scrapen und Bereitstellen dieser Information ist(praktisch immer) illegal.Das Scrapen für private Zwecke sollte nicht eineübermäßige Belastung des Servers auslösen!Deshalb lehnen Webseiten bei automatisierten Klientenoft den Service ab.

Bei urllib können wir einen einen Browser vortäuschen.Mit regulären Ausdrücken können wir meist deninteressanten Teil von der Webseite extrahieren.Alternativ: Webservices nutzen!

15.01.2016 B. Nebel – Info I 19 / 19

Page 66: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-Scraping

Zusammenfassung

Wir müssen nicht jede Webseite selbst lesen, speziellnicht wiederkehrende Aufrufe!Das Modul urllib erlaubt den Download von Webseiten.Achtung: Webseiten-Designer und Bereitsteller vonServices lieben keine automatisierten Downloads:

Das Scrapen und Bereitstellen dieser Information ist(praktisch immer) illegal.Das Scrapen für private Zwecke sollte nicht eineübermäßige Belastung des Servers auslösen!Deshalb lehnen Webseiten bei automatisierten Klientenoft den Service ab.

Bei urllib können wir einen einen Browser vortäuschen.Mit regulären Ausdrücken können wir meist deninteressanten Teil von der Webseite extrahieren.Alternativ: Webservices nutzen!

15.01.2016 B. Nebel – Info I 19 / 19

Page 67: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-Scraping

Zusammenfassung

Wir müssen nicht jede Webseite selbst lesen, speziellnicht wiederkehrende Aufrufe!Das Modul urllib erlaubt den Download von Webseiten.Achtung: Webseiten-Designer und Bereitsteller vonServices lieben keine automatisierten Downloads:

Das Scrapen und Bereitstellen dieser Information ist(praktisch immer) illegal.Das Scrapen für private Zwecke sollte nicht eineübermäßige Belastung des Servers auslösen!Deshalb lehnen Webseiten bei automatisierten Klientenoft den Service ab.

Bei urllib können wir einen einen Browser vortäuschen.Mit regulären Ausdrücken können wir meist deninteressanten Teil von der Webseite extrahieren.Alternativ: Webservices nutzen!

15.01.2016 B. Nebel – Info I 19 / 19

Page 68: Informatik I: Einführung in die Programmierunggki.informatik.uni-freiburg.de/teaching/ws1516/info1/... · 2016-01-14 · langweilige Geschirr und ersparten einem so die Mühe, es

Motivation

Webseitenund HTML

Das urllib-PaketWebseiten laden

Browservortäuschen

Web-Scraping

Zusammenfassung

Wir müssen nicht jede Webseite selbst lesen, speziellnicht wiederkehrende Aufrufe!Das Modul urllib erlaubt den Download von Webseiten.Achtung: Webseiten-Designer und Bereitsteller vonServices lieben keine automatisierten Downloads:

Das Scrapen und Bereitstellen dieser Information ist(praktisch immer) illegal.Das Scrapen für private Zwecke sollte nicht eineübermäßige Belastung des Servers auslösen!Deshalb lehnen Webseiten bei automatisierten Klientenoft den Service ab.

Bei urllib können wir einen einen Browser vortäuschen.Mit regulären Ausdrücken können wir meist deninteressanten Teil von der Webseite extrahieren.Alternativ: Webservices nutzen!

15.01.2016 B. Nebel – Info I 19 / 19