Python:机械化没有找到任何形式

Python: mechanize don't find any form

我正在尝试使用 mechanize 登录网站。该网站没有表格。有人可以帮我吗?问题是什么? 谢谢

Python 代码:

import mechanize

browser = mechanize.Browser()
browser.open("http://website.com/login.php")

print "forms-start"
for form in browser.forms():
    print form
print "forms-end"

输出:

forms-start
forms-end

网站:

<body>
<div align="center">
    <div class="msg"></div><br/>
    <form method="POST" action="" autocomplete="off">
        <p><span><b>Username*:</b></span>&nbsp;<input type="text" name="username" placeholder="your account name" value="" style="width:18em" /></p>
        <p><span><b>Password*:</b></span>&nbsp;<input type="password" name="password" placeholder="your account password" value="" style="width:18.0em" /></p>
                    <p><span><b>Remember*:</b></span>&nbsp;<input type="checkbox" name="remember" value="1" checked/></p>
        <input type="hidden" name="login" value="1" />
        <input type="submit" class="frmbtn" value="Login" />
    </form>
</div>
</body>

根据 FAQ Mechanize 无法处理无效 HTML

赞:“br/” 你的 website

上有这样的代码

您可以使用 BeautifullSoup 解析器

import mechanize

browser = mechanize.Browser(factory=mechanize.RobustFactory())
browser.open("http://example.com/")
print browser.forms

或者,您可以任意处理 HTML(和 headers):

browser = mechanize.Browser()
browser.open("http://example.com/")
html = browser.response().get_data().replace("<br/>", "<br />")
response = mechanize.make_response(
    html, [("Content-Type", "text/html")],
 "http://example.com/", 200, "OK")
browser.set_response(response)

来自常见问题解答