I am trying out Mechanize to make some routine simpler. I have managed to bypass that error by using br.set_handle_robots(False). There are talks about how ethical it's to use it. What I wonder about is where this error is generated, on my side, or on server side? I mean does Mechanize throw the exception when it sees some robots.txt rule or does server decline the request when it detects that I use an automation tool?
The server blocks your activity with such response.
Is it your site? If not, follow the rules:

Obey robots.txt file
Put a delay between request, even if robots.txt doesn't require it.
Provide some contact information (e-mail or page URL) in the User-Agent header.

Otherwise be ready site owner blocking you based on User-Agent, IP or other information he thinks distinguish you from legitimate users.
On what side is 'HTTP Error 403: request disallowed by robots.txt' generated?