Size: 1556
Comment:
|
Size: 1674
Comment: Added libxml2dom and fixed the heading.
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
Client-Side web programming | = Client-Side Web Programming = |
Line 11: | Line 11: |
* [http://www.python.org/pypi/libxml2dom libxml2dom] can parse HTML by employing libxml2's liberal HTML parser. |
Client-Side Web Programming
Libraries
[http://utidylib.berlios.de/ utidylib] and [http://www.egenix.com/files/python/mxTidy.html mxTidy] -- Python interfaces to [http://tidy.sourceforge.net/ html tidy] library to clean up HTML documents.
[http://www.crummy.com/software/BeautifulSoup/ BeautifulSoup] -- a permissive HTML parser.
Don't use [http://python.org/doc/current/lib/module-HTMLParser.html HTMLParser] on HTML that might be invalid! That way lies pain. Either clean it up (using tidy), or use a different parser.
[http://python.org/doc/current/lib/module-urllib.html urllib], [http://python.org/doc/current/lib/module-urllib2.html urllib2], and [http://python.org/doc/current/lib/module-httplib.html httplib] in the standard library.
[http://wwwsearch.sourceforge.net/ClientCookie/ ClientCookie], [http://wwwsearch.sourceforge.net/ClientForm/ ClientForm], and [http://wwwsearch.sourceforge.net/mechanize/ Mechanize] are higher-level libraries for writing a web client.
[http://www.python.org/pypi?:action=display&name=mechanoid&version=0.4.1 mechanoid] a mechanize fork.
[http://www.python.org/pypi/libxml2dom libxml2dom] can parse HTML by employing libxml2's liberal HTML parser.
Resources
[http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52199 Grab a document from the web] - from the Python Cookbook
[http://wwwsearch.sourceforge.net/bits/clientx.html Python web-client programming general FAQs].
[http://docs.python.org/lib/module-urllib.html urllib -- Open arbitrary resources by URL]
[http://docs.python.org/lib/module-urllib2.html urllib2 -- extensible library for opening URLs]