Ist es möglich, mit Python eine Webseite auszulesen?
Wenn ja wie? Braucht man dafür spezielle Module oder Programme? Wie hängt das mit HTML zusammen?
Auslesen meine ich:
Du gibst dem Programm eine Webseite von der es bestimmte Werte(z.b Preise oder Rechnungen) auslesen soll und dann halt irgendwo abspeichern in ner txt oder so
4 Antworten
Man kann eine Website zum Beispiel mit der requests und der beautifulsoup4 library oder mit der selenium library auslesen.
Wenn du Hilfe bei den Libraries oder auch ein Beispielprogramm von deren Libraries brauchst, dann kannst du mich einfach anschreiben
Die beiden anderen Libraries verwendet man eigentlich meistens zusammen. Mit der request library kann man den HTML-Code einer Website anfordern und mit beautifulsoup4 kann man diesen HTML-Code noch nach bestimmten Sachen abfragen und auslesen.
Dafür muss man kein Chrome-Fenster öffnen und geht meines Wissens nur mit Python
Kann da BeautifulSoup empfehlen. Das kam den Quellcode einer Webseite zerlegen und nach Art der Html Tags zum Beispiel Daten aus allen Überschriften auflisten oder Spalten aus einer Tabelle (mit bestimmter Id) holen und mit plotly oder Ähnlichem grafisch darstellen.
Wikipedia hat zum Beispiel viel Tabellen zu allem Möglichen, ob Bevölkerungszahlen, Sportergebnisse etc., da könntest du dich zum Üben dran versuchen.
Oder du filterst eine nachrichtenseite nach bestimmten Suchbegriffen und lässt das Ergebnis auflisten.
Ja, mit dem mitgelieferten Modul urllib.request.urlopenMithilfe diesem kann man den HTML-Code jeder Webseite bekommen.
Beispiel:
from urllib.request import urlopen#Importiere Modul
URL = "https://www.gutefrage.net"#Definiere die URL
open = urlopen(URL)#Öffne die Webseite
html = open.read.decode()#Lese und decodiere HTML-Code
open.close()#Schließe die Webseite
print(html)#Gebe HTML-Code aus
Das nennt sich web scraping. Kann man zB mit Selenium machen.
Mit Selenium ist man nicht an Python gebunden. Wie ist das mit den beiden anderen Frameworks?