全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

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 


相关文章: javascript中对象的定义、使用以及对象和原型链操作小结  如何获取上海专业网站定制建站电话?  正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?  上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  如何快速生成橙子建站落地页链接?  武清网站制作公司,天津武清个人营业执照注销查询系统网站?  非常酷的网站设计制作软件,酷培ai教育官方网站?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  常州自助建站:操作简便模板丰富,企业个人快速搭建网站  制作国外网站的软件,国外有哪些比较优质的网站推荐?  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  如何用花生壳三步快速搭建专属网站?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  长沙做网站要多少钱,长沙国安网络怎么样?  简易网站制作视频教程,使用记事本编写一个简单的网页html文件?  电商平台网站制作流程,电商网站如何制作?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  深圳 网站制作,深圳招聘网站哪个比较好一点啊?  如何用虚拟主机快速搭建网站?详细步骤解析  Android滚轮选择时间控件使用详解  如何在Golang中使用encoding/gob序列化对象_存储和传输数据  一键网站制作软件,义乌购一件代发流程?  C++中引用和指针有什么区别?(代码说明)  如何在Ubuntu系统下快速搭建WordPress个人网站?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  定制建站是什么?如何实现个性化需求?  常州企业网站制作公司,全国继续教育网怎么登录?  如何批量查询域名的建站时间记录?  详解jQuery停止动画——stop()方法的使用  长沙企业网站制作哪家好,长沙水业集团官方网站?  建站之星在线客服如何快速接入解答?  如何高效利用200m空间完成建站?  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?  ,想在网上投简历,哪几个网站比较好?  建站之星如何实现五合一智能建站与营销推广?  婚礼视频制作网站,学习*后期制作的网站有哪些?  建站10G流量真的够用吗?如何应对访问高峰?  如何在IIS中配置站点IP、端口及主机头?  网站图片在线制作软件,怎么在图片上做链接?  深圳网站制作培训,深圳哪些招聘网站比较好?  如何快速选择适合个人网站的云服务器配置?  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  表情包在线制作网站免费,表情包怎么弄?  免费公司网站制作软件,如何申请免费主页空间做自己的网站?  如何在橙子建站中快速调整背景颜色?  建站之星后台管理系统如何操作?  网站制作难吗安全吗,做一个网站需要多久时间? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。