python urllib2 document.login [英] python urllib2 document.login

查看:176
本文介绍了python urllib2 document.login的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您将如何使用python urllib2登录到这样设置的网站

How would you go about logging into a website that is set up like so, using python urllib2

以下是表单和onsubmit上的javascript处理程序.我将如何在python中处理此问题?

The below is the javascript handler on the form and a onsubmit. How would I process this in python?

<script>

function handleLogin() {document.login.un.value = document.login.username.value;document.login.width.value = screen.width;document.login.height.value = screen.height;}

</script>

下面是html表单,其中包含所有要作为帖子发送的组件.使我失望的是onsubmit函数.

Below is the html form with all the components to send as post. What holds me up is the onsubmit function.

<form id='login' name='login' method='post' onsubmit="handleLogin();" action='login.php'>

<input class="txtbox glow" type="text" id="username" name="username" value="blanksss">

<input class="txtbox glow" type="password" id="password" name="pw" size="18" autocomplete="off" onkeypress="checkCaps(event)">

<input class="checkbox" type="checkbox" id="rememberUn" name="rememberUn" checked="checked">

<input class="loginButton" type="submit" id="Login" name="Login" value="Login">

</form>

我可以在没有javascript的简单网站上使用的Python代码是:

Python Code I have that works with easy sites without javascript is:

cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
opener.addheaders.append(('User-agent', 'Mozilla/4.0'))
opener.addheaders.append( ('Referer', 'https://login.site.com/') )
login_data = urllib.urlencode({'username' : 'mylogin',
                               'pw' : 'mypass',
                               'Login' : 'Login',
                               'rememberUn' : 'checked'
                               })
resp = opener.open('https://login.site.com/', login_data)
website = opener.open('https://eu1.site.com/a03/o')

bowl = BeautifulSoup(website)

关于如何处理javascript代码然后将完成的结果发布到表单操作的任何想法?

Any thoughts on how to process javascript code then post the finished results to the action of the form?

谢谢

推荐答案

使用请求

import requests

data = {
      "username" : "youruser",
      "password" : "yourpass",
      "Login" : "Login",
}
r = requests.post(url, data=data)

此脚本将在Python 2.7上运行

this Script Will Work On Python 2.7

这篇关于python urllib2 document.login的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆