Wie zeige ich eine Webseite mit Python an?
-
28-10-2019 - |
Frage
Ich möchte die Benutzereingabe in Python lesen, um eine URL zu erhalten (z. B. http://www.google.com) und drucken Sie dann die Webseite in HTML -Formatierung (nur Text) zum Terminal. Ich habe versucht zu benutzen pexpect.spawn('elinks')
Aber Elinks scheint nicht an stdout zu schreiben. Ich habe mir auch das HTMLParser -Modul angesehen, aber ich weiß nicht, wie ich den resultierenden Text in etwas formatiert habe, das einer Webseite ähnelt. Irgendein Rat?
Lösung
Dies ist keine kleine Herausforderung. Die Tatsache, dass Sie laichen wollen elinks
Ich frage mich, warum du es stattdessen nicht nur benutzt. Sehen Sie, welche Optionen für Erweiterbarkeit/Plugin/Addon es haben, oder versuchen Sie es, sie an Ihre spezifischen Anforderungen zu entsprechen.
Letztendlich müssen Sie Ihre eigene Browser -Layout -Engine mit einem Fluts -Backend schreiben. Wenn Sie Python verwenden, urwid
ist eine beliebte Wahl für Flüche.
Andere Tipps
Mit Python UrlliB
Geben Sie die URL -> urllib -> die Seite -> in der Konsole ein
# example in the python urllib page
import urllib
opener = urllib.FancyURLopener({})
f = opener.open("http://www.python.org/")
f.read()
# modify:
html = f.read()
# add:
print html
# to print in terminal
Es ist ähnlich wie "curl" in Unix
import requests
r = requests.get('http://www.google.com/')
print(r.content)