【发布时间】:2011-05-13 08:05:44
【问题描述】:
有什么方法可以在 Python 3.x 中使用 Mechanize?
或者有什么替代品可以在 Python 3.x 中使用?
我已经搜索了几个小时,但我没有找到任何东西:(
我正在寻找如何使用 Python 登录网站的方法,但该网站使用 javascript。
提前致谢,
亚当。
【问题讨论】:
标签: python login screen-scraping screen mechanize
有什么方法可以在 Python 3.x 中使用 Mechanize?
或者有什么替代品可以在 Python 3.x 中使用?
我已经搜索了几个小时,但我没有找到任何东西:(
我正在寻找如何使用 Python 登录网站的方法,但该网站使用 javascript。
提前致谢,
亚当。
【问题讨论】:
标签: python login screen-scraping screen mechanize
我正在做一个类似的项目,但 mechanize 的常见问题解答明确表示他们不打算在短期内支持 3x。代码必须用 3 编写有什么原因吗?
我试图解决这个问题的方法是通过提交表单来模拟 java 脚本,这需要一些逆向工程。 (也就是说,如果 javascript 以提交表单结束,并且您可以找到脚本传递给 submit() 的参数,只需按照 mechanize doc 中的示例进行操作
http://wwwsearch.sourceforge.net/mechanize/
br.select_form(name="order")
# Browser passes through unknown attributes (including methods)
# to the selected HTMLForm.
br["cheeses"] = ["mozzarella", "caerphilly"] # (the method here is __setitem__)
# Submit current form. Browser calls .close() on the current response on
# navigation, so this closes response1
response2 = br.submit()
【讨论】:
lxml.html 提供表单处理工具并支持 Python 3。
【讨论】: