我刚开始在 Python 中使用 mechanize 并且已经遇到了一些问题。我在 StackOverflow 和 Google 上环顾四周,我看到人们说文档很棒,应该很容易让它工作,但我想我不知道如何查找该文档,因为我可以找到的是代码示例,它们并没有真正教我如何做我想做的特定事情。如果有人可以向我指出此类文档,我会很高兴自己阅读并解决我的问题。
对于实际问题,我试图通过在表单中发送我的用户名和密码信息来登录网站。当信息正确时,我通常会被重定向,但它在机械化中不起作用。
这是我没有得到的部分,因为如果我在调用提交后立即打印页面的html内容,页面会显示一个变量,表明认证有效。如果我将密码更改为不正确的密码,html 会显示一条消息“凭据无效”,就像我正常浏览网站一样。
这是我如何做的代码示例。请记住,这可能是完全错误的,因为我只是试图应用我在示例中找到的内容:
import mechanize
import cookielib
# Start Browser
br = mechanize.Browser()
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)
br.set_handle_equiv(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)
br.open('http://www.complexejuliequilles.com/')
for l in br.links(url_regex='secure'):
br.follow_link(l)
br.select_form('form1')
br.form['fldUsername'] = 'myUsername'
br.form['fldPassword'] = 'myPassword'
br.submit()
在这个特定的示例中,我打开http://www.complexejulieequilles.com,然后点击底部的链接,其中包含“管理”文本,在表单中输入我的凭据,然后提交。通常,我会被重定向到我所在的第一个页面,但会有更多的按钮只能由管理员使用。我想单击其中一个链接来填写另一个表格,以添加我拥有其电子邮件地址、姓名等的用户列表。
我缺少一些简单的东西吗?我想我掌握了基础知识,但我对库的了解不足以找到重定向出了什么问题。