I'm looking for html cleaner. Example : convert <h1><span><font>my title</font></span></h1> => <h1>m

S

Stéphane Klein

Hi,

I work on HTML cleaner.

I export OpenOffice.org documents to HTML.
Next, I would like clean this HTML export files :

* remove comment
* remove style
* remove dispensable tag
* ...

some difficulty :

* convert <p>my text <span>foo</span> bar</p> => <p>my text foo par</p>
* convert <h1><span><font>my title</font></span></h1> => <h1>my title</h1>

to do this process, I use lxml and pyquery.

Question :

* are there some xml helper tools in Python to do this process ? I've
looked for in pypi, I found nothing about it

If you confirm than this tools don't exists, I'll maybe publish a helper
package to do this "clean" processing.

Thanks for your help,
Stephane
 
H

Harishankar

Hi,

I work on HTML cleaner.

I export OpenOffice.org documents to HTML. Next, I would like clean this
HTML export files :

* remove comment
* remove style
* remove dispensable tag
* ...

some difficulty :

* convert <p>my text <span>foo</span> bar</p> => <p>my text foo par</p>
* convert <h1><span><font>my title</font></span></h1> => <h1>my
title</h1>

to do this process, I use lxml and pyquery.

Question :

* are there some xml helper tools in Python to do this process ? I've
looked for in pypi, I found nothing about it

If you confirm than this tools don't exists, I'll maybe publish a helper
package to do this "clean" processing.

Thanks for your help,
Stephane


Take a look at htmllib and HTMLParser (two different modules) in the
Python built-in library.

In Python 3.x there is one called html.parser

You can use this to parse out specific tags from HTML documents. If you
want something more advanced, consider using XML.
 
J

John Nagle

Stéphane Klein said:
Hi,

I work on HTML cleaner.

I export OpenOffice.org documents to HTML.
Next, I would like clean this HTML export files :

* remove comment
* remove style
* remove dispensable tag
* ...

Try parsing with HTML5 Parser ("http://code.google.com/p/html5lib/") which
is the closest thing to a good parser available for Python. It's basically
a reference implementation of HTML5, including all the handling of bad HTML.

Once you have a tree, write something to go through the tree and remove
empty tags from a list of tags which do nothing when empty. Then
regenerate HTML from the tree.

Or just use HTML Tidy: "http://www.w3.org/People/Raggett/tidy/"

John Nagle
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,773
Messages
2,569,594
Members
45,119
Latest member
IrmaNorcro
Top