Python 模拟登陆的两种实现方法

有时候我们的抓取项目时需要登陆到某个网站上,才能看见某些内容的,所以模拟登陆功能就必不可少了,散仙这次写的文章,主要有2个例子,一个是普通写法写的,另外一个是基于面向对象写的。
模拟登陆的重点,在于找到表单真实的提交地址,然后携带cookie,post数据即可,只要登陆成功,我们就可以访问其他任意网页,从而获取网页内容。
方式一:
import urllib.request
import urllib.parse
import http.cookiejar
#post的内容
values={
'logon.x':'linke',
'password':'xxxx',
'username':'xxxxx'
}
#登陆的地址
logUrl="http://192.168.32.112:8080/templates/index/hrlogon.do"
#构建cook
cook=http.cookiejar.CookieJar()
#构建openner
openner=urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cook))
#添加headers
openner.addheaders = [('User-agent', 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36')]
r=openner.open(logUrl,urllib.parse.urlencode(values).encode())
#print(r.read().decode('gbk'))
r=openner.open("http://192.168.132.62:8080/kq/kqself/card/carddata.do?b_query=link")
print(r.read().decode('gbk'))
方式二:
import urllib
import urllib.request
import urllib.parse
import http.cookiejar
import re
class loginRLKQ:
post_data=b"";
def __init__(self):
#初始化类,cook的值
cj=http.cookiejar.CookieJar()
opener=urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
opener.addheaders=[('User-Agent','Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)')]
#初始化全局opener
urllib.request.install_opener(opener)
#login方法需要加入post数据
def login(self,loginurl,encode):
#模拟登陆
req=urllib.request.Request(loginurl,self.post_data)
rep=urllib.request.urlopen(req)
d=rep.read()
#print(d)
d=d.decode(encode)
return d
#登陆之后获取其他网页方法
def getUrlContent(self,url,encode):
req2=urllib.request.Request(url)
rep2=urllib.request.urlopen(req2)
d2=rep2.read()
d22=d2.decode(encode)
return d22
if __name__=="__main__":
#实例化类
x=loginRLKQ()
#给post数据赋值
x.post_data=urllib.parse.urlencode({'username':"xxdd",'password':'xxdd','logon.x':'linke'}).encode(encoding="gbk")
#登陆
y=x.login("http://192.168.132.61:8080/templates/index/hrlogon.do","gbk")
#获取网页信息
print(x.getUrlContent("http://192.124.32.16:8080/kq/kqself/card/carddata.do?b_query=link","gbk"))
以上就是Python 模拟登陆的实现方法,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Python
# 模拟登陆
# 模拟登陆的方法
# Python模拟用户登录验证
# Python模拟登陆实现代码
# python3.0 模拟用户登录
# 三次错误锁定的实例
# 如有
# 两种
# 希望能
# 另外一个
# 谢谢大家
# 表单
# 必不可少
# 面向对象
# 就可以
# 时需
# 疑问请
# 主要有
# 是基于
# CookieJar
# cook
# HTTPCookieProcessor
# build_opener
# openner
# hrlogon
# index
相关文章:
如何选择高效便捷的WAP商城建站系统?
盐城做公司网站,江苏电子版退休证办理流程?
建站之星后台管理:高效配置与模板优化提升用户体验
建站之星安装后界面空白如何解决?
如何通过可视化优化提升建站效果?
Python如何创建带属性的XML节点
如何在阿里云虚拟主机上快速搭建个人网站?
如何快速生成专业多端适配建站电话?
制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?
电商网站制作公司有哪些,1688网是什么意思?
较简单的网站制作软件有哪些,手机版网页制作用什么软件?
北京网站制作的公司有哪些,北京白云观官方网站?
如何快速搭建FTP站点实现文件共享?
西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?
新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?
建站之星备案流程有哪些注意事项?
建站上市公司网站建设方案与SEO优化服务定制指南
上海网站制作网站建设公司,建筑电工证网上查询系统入口?
深圳 网站制作,深圳招聘网站哪个比较好一点啊?
西安专业网站制作公司有哪些,陕西省建行官方网站?
高防服务器租用指南:配置选择与快速部署攻略
佛山企业网站制作公司有哪些,沟通100网上服务官网?
制作公司内部网站有哪些,内网如何建网站?
自助网站制作软件,个人如何自助建网站?
建站主机选购指南:核心配置与性价比推荐解析
微信小程序制作网站有哪些,微信小程序需要做网站吗?
广州美橙建站如何快速搭建多端合一网站?
如何快速生成ASP一键建站模板并优化安全性?
北京制作网站的公司,北京铁路集团官方网站?
娃派WAP自助建站:免费模板+移动优化,快速打造专业网站
如何选择靠谱的建站公司加盟品牌?
,购物网站怎么盈利呢?
如何在云主机上快速搭建多站点网站?
建站主机选哪种环境更利于SEO优化?
动图在线制作网站有哪些,滑动动图图集怎么做?
建站主机无法访问?如何排查域名与服务器问题
深入理解Android中的xmlns:tools属性
c++ stringstream用法详解_c++字符串与数字转换利器
建站主机是什么?如何选择适合的建站主机?
如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法
香港服务器选型指南:免备案配置与高效建站方案解析
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
学校为何禁止电信移动建设网站?
上海网站制作开发公司,上海买房比较好的网站有哪些?
Swift中循环语句中的转移语句 break 和 continue
建站之星会员如何解锁更多建站功能?
如何通过西部建站助手安装IIS服务器?
Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递
建站之星logo尺寸如何设置最合适?
实现点击下箭头变上箭头来回切换的两种方法【推荐】
*请认真填写需求信息,我们会在24小时内与您取得联系。