[英]Python Mechanize: HTTP Error 428 Precondition Failed
我正在尝试使用python mechanize模块自动化网站上的流程。
使用以下代码,我将刷新该网站,直到找到要关注的链接:
for link in br.links():
valuable = filter(lambda tpl: tpl[0]=='href', link.attrs)
if len(valuable) == 0:
continue
if 'book.php' in valuable[0][1]:
print link
req = br.follow_link(link)
file_handler = open("level2.html", "w")
file_handler.write(br.response().read())
file_handler.close()
not_done = False
break
一旦找到包含“ book.php”的链接,应用程序将崩溃,并且出现以下错误:
文件“ /home/max/Dokumente/dev/main.py”,第43行,运行要求= br.follow_link(link)
文件“ build / bdist.linux-x86_64 / egg / mechanize / _mechanize.py”,第569行,位于follow_link中
打开文件“ build / bdist.linux-x86_64 / egg / mechanize / _mechanize.py”,第203行
_mech_open中的第255行的文件“ build / bdist.linux-x86_64 / egg / mechanize / _mechanize.py”
mechanize._response.httperror_seek_wrapper:HTTP错误428:前提条件失败
这意味着什么? 我真的无法弄清楚。 如何解决此错误?
正如解释在这里 :
原始服务器要求请求是有条件的。 它的典型用法是避免“丢失更新”问题,在这种情况下,客户端获取资源的状态,然后对其进行修改,然后将其重新放置到服务器上,而此时第三方已在服务器上修改了状态,从而导致冲突。
这可能意味着已处理链接中的GET参数突然过时了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.