BeautifulSoup verwenden
Es gibt ein Dutzend Möglichkeiten, das BeautifulSoup-Modul und seine "prettify"-Funktion zu nutzen. Hier sind einige Beispiele, die Ihnen den Einstieg erleichtern.
Über die Befehlszeile
$ python -m BeautifulSoup < somefile.html > prettyfile.html
Innerhalb von VIM (manuell)
Sie müssen die Datei nicht auf die Festplatte zurückschreiben, wenn Sie das nicht wollen, aber ich habe den Schritt eingefügt, der den gleichen Effekt wie das Kommandozeilenbeispiel hat.
$ vi somefile.html
:!python -m BeautifulSoup < %
:w prettyfile.html
Innerhalb von VIM (Schlüsselzuordnung definieren)
In ~/.vimrc definieren:
nmap =h !python -m BeautifulSoup < %<CR>
Wenn Sie dann eine Datei in vim öffnen und sie verschönert werden muss
$vi somefile.html
=h
:w prettyfile.html
Auch hier ist die Speicherung der Verschönerungsmaßnahmen optional.
Python-Shell
$ python
>>> from BeautifulSoup import BeautifulSoup as parse_html_string
>>> from os import path
>>> uglyfile = path.abspath('somefile.html')
>>> path.isfile(uglyfile)
True
>>> prettyfile = path.abspath(path.join('.', 'prettyfile.html'))
>>> path.exists(prettyfile)
>>> doc = None
>>> with open(uglyfile, 'r') as infile, open(prettyfile, 'w') as outfile:
... # Assuming very simple case
... htmldocstr = infile.read()
... doc = parse_html_string(htmldocstr)
... outfile.write(doc.prettify())
# That's it; you can manually manipulate the dom too though
>>> scripts = doc.findAll('script')
>>> meta = doc.findAll('meta')
>>> print doc.prettify()
[imagine beautiful html here]
>>> import jsbeautifier
>>> print jsbeautifier.beautify(script.string)
[imagine beautiful script here]
>>>