Python 模拟登陆的两种实现方法
发布时间 - 2026-01-11 02:43:30 点击率:次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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel怎么使用artisan命令缓存配置和视图
HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】
韩国服务器如何优化跨境访问实现高效连接?
WordPress 子目录安装中正确处理脚本路径的完整指南
HTML 中动态设置元素 name 属性的正确语法详解
如何将凡科建站内容保存为本地文件?
太平洋网站制作公司,网络用语太平洋是什么意思?
网页设计与网站制作内容,怎样注册网站?
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程
,怎么在广州志愿者网站注册?
微信小程序 input输入框控件详解及实例(多种示例)
Laravel如何实现模型的全局作用域?(Global Scope示例)
如何用PHP快速搭建高效网站?分步指南
香港网站服务器数量如何影响SEO优化效果?
Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复
uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址
Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】
Laravel怎么实现模型属性的自动加密
Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】
googleplay官方入口在哪里_Google Play官方商店快速入口指南
Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】
黑客如何通过漏洞一步步攻陷网站服务器?
如何在不使用负向后查找的情况下匹配特定条件前的换行符
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】
Java解压缩zip - 解压缩多个文件或文件夹实例
如何在服务器上配置二级域名建站?
Laravel如何实现本地化和多语言支持?(i18n教程)
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
如何在阿里云购买域名并搭建网站?
Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】
香港服务器如何优化才能显著提升网站加载速度?
Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南
Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑
智能起名网站制作软件有哪些,制作logo的软件?
Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理
Laravel的.env文件有什么用_Laravel环境变量配置与管理详解
如何用西部建站助手快速创建专业网站?
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
Laravel用户密码怎么加密_Laravel Hash门面使用教程
Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程
JavaScript数据类型有哪些_如何准确判断一个变量的类型
如何用IIS7快速搭建并优化网站站点?
网站制作报价单模板图片,小松挖机官方网站报价?
Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】
微信h5制作网站有哪些,免费微信H5页面制作工具?
Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程
Python面向对象测试方法_mock解析【教程】

