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?

War es hilfreich?

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)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top