gpt4 book ai didi

python - 如何使 Mechanize 不会因该页面上的表单而失败?

转载 作者:太空狗 更新时间:2023-10-30 03:08:08 25 4
gpt4 key购买 nike

import mechanize

url = 'http://steamcommunity.com'

br=mechanize.Browser(factory=mechanize.RobustFactory())

br.open(url)
print br.request
print br.form
for each in br.forms():
print each
print

以上代码的结果是:

Traceback (most recent call last):
File "./mech_test.py", line 12, in <module>
for each in br.forms():
File "build/bdist.linux-i686/egg/mechanize/_mechanize.py", line 426, in forms
File "build/bdist.linux-i686/egg/mechanize/_html.py", line 559, in forms
File "build/bdist.linux-i686/egg/mechanize/_html.py", line 228, in forms
mechanize._html.ParseError

我的具体目标是使用登录表单,但我什至无法 Mechanize 地识别有任何表单。即使使用我认为是选择任何 形式的最基本方法,br.select_form(nr=0),也会产生相同的回溯。表单的 enctype 是 multipart/form-data 如果有区别的话。

我想这一切都归结为一个由两部分组成的问题:我怎样才能 Mechanize 地处理这个页面,或者如果不可能,在维护 cookie 的同时还有什么其他方法?

编辑:如下所述,这重定向到“https://steamcommunity.com” '.

Mechanize 可以成功检索 HTML,如下面的代码所示:

url = 'https://steamcommunity.com'

hh = mechanize.HTTPSHandler() # you might want HTTPSHandler, too
hh.set_http_debuglevel(1)
opener = mechanize.build_opener(hh)
response = opener.open(url)
contents = response.readlines()

print contents

最佳答案

您是否提到网站正在重定向到 https (ssl) 服务器?

那么,尝试像这样设置一个新的 HTTPS 处理程序:

mechanize.HTTPSHandler()

关于python - 如何使 Mechanize 不会因该页面上的表单而失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/922148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com