mechanize - Automate interaction with HTTP web servers
Contents
Major features
Stateful programmatic web browsing in Python
- The browser class mechanize.Browser implements the interface of urllib2.OpenerDirector, so any URL can be opened not just http.
- Easy HTML form filling.
- Convenient link parsing and following.
- Browser history (.back() and .reload() methods).
- The Referer HTTP header is added properly (optional).
- Automatic observance of robots.txt.
- Automatic handling of HTTP-Equiv and Refresh.
Installation
To install for normal usage:
pip3 install mechanizeTo install for development:
git clone https://github.com/python-mechanize/mechanize.git
cd mechanize
pip3 install -e .To install manually, simply add the mechanize sub-directory somewhere on your PYTHONPATH.
Documentation
See https://mechanize.readthedocs.io/en/latest/
Credits
python-mechanize was the creation of John J. Lee. Maintenance was taken over by Kovid Goyal in 2017.
Much of the code was originally derived from the work of the following people:
- Gisle Aas -- [libwww-perl]
- Jeremy Hylton (and many others) -- [urllib2]
- Andy Lester -- [WWW::Mechanize]
- Johnny Lee (coincidentally-named) -- MSIE CookieJar Perl code from which mechanize's support for that is derived.
Also:
- Gary Poster and Benji York at Zope Corporation -- contributed significant changes to the HTML forms code
- Ronald Tschalar -- provided help with Netscape cookies
Thanks also to the many people who have contributed bug reports and patches.

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
