您将如何自动化此站点中的登录过程?

时间:2012-10-14 05:02:33

标签: python

好吧,所以,我正在做一个下载本网站X壁纸的小脚本。

www.wallbase.cc

我已经可以下载我想要的方式,但是我想用Python脚本中的用户名和密码登录,我有点想知道如何在“普通”网站上进行操作,从网址上可以看到登录表单但是在这个问题上我必须调用一个javascript函数来显示webform才能登录,而且我真不知道如何登录也不会打开webform。

有人可以帮我吗?

非常感谢。

1 个答案:

答案 0 :(得分:2)

您可以使用POST方法发送凭据。

LiveHTTPHeaders firefox模块对于跟踪HTTP请求非常有用:

http://wallbase.cc/user/login

POST /user/login HTTP/1.1
Host: wallbase.cc
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:15.0)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://wallbase.cc/home
Cookie: xxx
Content-Type: application/x-www-form-urlencoded
Content-Length: 74
usrname=d&pass=d&nopass_email=Type+in+your+e-mail+and+press+enter&nopass=0
HTTP/1.1 200 OK
Content-Encoding: gzip
Vary: Accept-Encoding
Content-Type: text/html
Transfer-Encoding: chunked
Date: Sun, 14 Oct 2012 05:05:21 GMT
Server: lighttpd

重要的部分是

usrname=<YOUR USER NAME>&pass=<PASSWORD>&nopass_email=Type+in+your+e-mail+and+press+enter&nopass=0

这是您需要通过POST发送的数据。你可以在搜索SO网站上的python中找到大量的POST。

我建议您使用mechanize模块来执行此操作。