本篇文章为大家展示了使用python怎么模拟表单提交登录,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语言,其最初的设计是用于编写自动化脚本,随着版本的不断更新和新功能的添加,常用于用于开发独立的项目和大型项目。
获取表单中的input 包括hidden,因为hidden也会跟着表单一起提交.找到账号和密码对应的name 到时候我们需要用自己的账号填写的.
获取到所有的要提交的表单内容后,将账号和密码替换成自己的账号和密码,提交请求.获取cookie并保存在cookie中。
代码如下(Python2.7版本 和Python3都其实都差不多):
# -*- coding:utf-8 -*- import urllib import urllib2 import cookielib import bs4 result = urllib2.urlopen("http://222.200.122.171:7771/login.aspx") soup = bs4.BeautifulSoup(result, "html.parser") logindiv = soup.find("form", attrs={"name": "aspnetForm"}) Allinput = logindiv.findAll("input") inputData = {} for oneinput in Allinput: if oneinput.has_attr('name'): if oneinput.has_attr('value'): inputData[oneinput['name']] = oneinput['value'] else: inputData[oneinput['name']] = "" inputData['ctl00$ContentPlaceHolder1$txtPas_Lib'] = '*****' inputData['ctl00$ContentPlaceHolder1$txtUsername_Lib'] = '*******' filename = 'cookie.txt' # 声明一个MozillaCookieJar对象实例来保存cookie,之后写入文件 cookie = cookielib.MozillaCookieJar(filename) opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie)) postdata = urllib.urlencode(inputData) result2 = opener.open("http://222.200.122.171:7771/login.aspx", postdata) cookie.save(ignore_discard=True, ignore_expires=True) #登录后 要访问的url bookUrl = "http://222.200.122.171:7771/user/userinfo.aspx" result=opener.open(bookUrl) print result.read()
上述内容就是使用python怎么模拟表单提交登录,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。