我正在创建一个代表虚拟公司网站的网站(在这种情况下,是一家虚拟面包店)。我已经设置了产品和推车系统,现在的问题是让它与虚拟银行系统一起工作。参与系统的每个人都有一个帐户,我也是。现在,我对Python非常陌生,我已经使用了很多先前创建的脚本,并根据我的需要略微编辑它们。
我的问题......
很抱歉,我会在我尝试访问的网站中添加一个链接,但是,目前似乎已经关闭了。多么方便。
答案 0 :(得分:4)
我建议您查看机械化以登录:http://wwwsearch.sourceforge.net/mechanize/
点击按钮时,请查看以下答案:https://stackoverflow.com/a/1806266/1104941
编辑:
其他有用的链接:
答案 1 :(得分:0)
不幸的是,没有一种非常好的方法可以在Python(或浏览器之外的任何东西)的上下文中遍历依赖Javascript的站点。即使您使用Mechanize与python-spidermonkey,或者其他形式的Javascript桥接器与Python(可能是pyV8),这些桥梁本身也不会模拟DOM。因此,任何处理UI交互的Javascript都无法正常运行。
但是,如果您希望登录的网站不依赖于Javascript,则完全可以遍历该网站。我的建议是使用Kenneth Reitz的requests模块。您可以执行以下操作:
import requests
# To handle logins you'll most likely need to maintain a session
# if the site you login to usually expects a human
s = requests.session() # starts a session
# Next you want to login to the site
s.post("http://somesite.com/login", data={"u": "username", "p": "password"})
# Now you're logged in and you can do anything you want
# using the session instance
response_data = s.get("http://somesite.com/awesome-page-id-like-to-grab")
# Do something with the response data ...
my_response_parsing_function(response_data.content)
还有其他方法可以使用python标准库,但请求处理所有那些非常严格的东西。