Python:机械化表单处理HTTP错误405

时间:2013-09-29 22:34:34

标签: python forms mechanize

我目前正在使用mechanize from this neat book测试用于Python程序化网页浏览的脚本,并且遇到了我似乎无法解决的错误。基本上,我有以下脚本:

#!/usr/bin/env python

from bs4 import BeautifulSoup, SoupStrainer
from mechanize import Browser

br = Browser()

#home page
rsp = br.open('http://us.pycon.org/2011/home/')
print '\n***', rsp.geturl()

page = rsp.read()
assert 'Log in' in page, 'Log in not in page'
rsp = br.follow_link(text_regex='Log in')

#login page
print '\n***', rsp.geturl()
print 'Confirm at least a login form; submit invalid creds'
assert  len(list(br.forms())) > 1, 'no forms on this page'

br.select_form(nr=0)
br.form['username'] = 'xasdxx' #wrong login on purpose
br.form['password'] = 'xxasdfx' #wrong password on purpose
rsp = br.submit()

#login page with error
print '\n***', rsp.geturl()

该脚本与书中的脚本相同。每次运行它都会出现以下错误:

enter image description here

我还审核了this post here,但似乎没有解决方案......

编辑:我发现more posts有类似的问题,但没有具体的解决方案。

非常感谢帮助!

谢谢!

〜Aivoric

解决方案:如下面Foo Bar的答案所示,我的IP已被屏蔽,因此不允许我在网站上做任何事情。然后我调整了脚本以在https://www.rememberthemilk.com上运行,一切正常:

enter image description here

1 个答案:

答案 0 :(得分:1)

该网站在405上提供了mechanize 它还在405上提供了selenium 然后我尝试注册并发送一个正确的名称,但注册时也提供了405

网站被破坏或我的ip(和你的)被阻止。