全网整合营销服务商

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

免费咨询热线: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 


相关文章: 如何选择高效便捷的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小时内与您取得联系。