Skip to content
Snippets Groups Projects
Rainier Robles's avatar
ren authored
83c53ba9
History
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
Name Last commit Last update
..
README.md
heisescraper.py
heisescrapernp.py

Bevor wir einen Webscraper erstellen können, müssen wir erst herausfinden, wie die Webseite aufgebaut wird, was die Struktur ist, usw, um zu wissen, wonach unser Webscraper suchen soll. Darum haben wir die Webseite besucht und die Source-Datei (HTML Datei) angesehen. Wir merken, dass alle Artikeln zwischen den

Tag mit der Klasse "keywordliste" aufgelistet werden. Zusätzlich finden wir jede Überschrift in (oder hinter) einem Tag, der sich auch in einem anderen
Tag befindet. Zum Schluss merken wir, dass die Seiten sequentiell numeriert werden, wobei die erste Seite die 0. Seite ist.

Wir haben einfach die getPage Funktion aus dem Greyhound-Scraper kopiert und benutzt, damit wir ein BeautifulSoup Objekt erstellen können. Wir wissen, dass alle URLs mit "https://www.heise.de/thema/https?seite=" anfangen, deshalb haben wir dies in eine Variable gespeichert. Die Variablen allheaders und allwords werden auch initialisiert.

Eine while wird erzeugt, damit wir Zugriff auf alle Seiten mit Artikeln haben können. Die 0. Seite wird erst geöffnet, wird direkt zum

Tag mit der Klasse "keywordliste" gegangen, und alle
Tags darin werden gefunden. Nicht alle dieser
Tags haben einen Tag, deswegen sollen wir überprüfen, ob den Wert von nicht None (also nicht leer) ist. Falls nicht, dann kriegen wir die Überschrift und fügen die in der allheaders Liste hinzu. Danach werden alle Wörter in jeder Überschrift mit Hilfe von Regular Expressions gefunden, und die werden in der allwords Liste gespeichert. Da wir später keine Probleme mit Vergleichungen haben wollen, werden alle Wörter klein geschrieben. Dieser Prozess wird für alle Seiten ausgeführt. Die Schleife terminiert, wenn die erste Seite gefunden wird, die keine
Tag mit der Klasse "keywordliste" gefunden wird.

Danach werden alle Wörter sortiert und wird es gezählt, wie oft ein Wort auf der Liste vorkommt. Das entspricht, wie oft dieses Wort in einer Überschrift vorkommt. Am Ende haben wir eine Liste von Tupeln mit dem Wort und der Anzahl. Dies werden wieder sortiert, und die Top 10 Wörter (oder Strings, da einige gefundene Strings keine Wörter der deutschen Sprache sind) werden zurückgegeben. Laut Duden ist "https" kein deutsches Wort (also es gibt keine Definition in Duden für "https", Quelle: http://www.duden.de/suchen/shop/https), deswegen sind unsere Top 3 Deutsche Wörter:

  1. und (36)
  2. für (32)
  3. mit (28)