`
qindongliang1922
  • 浏览: 2183981 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:117536
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:125922
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:59912
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:71301
社区版块
存档分类
最新评论

Python3.4模拟登陆例子

阅读更多
有时候我们的抓取项目时需要登陆到某个网站上,才能看见某些内容的,所以模拟登陆功能就必不可少了,散仙这次写的文章,主要有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"))


分享到:
评论

相关推荐

    opencv-python 3.4.1.15 opencv-contrib-python 3.4.1.15 win64版

    opencv-python 3.4.1.15 opencv-contrib-python 3.4.1.15 win64版,opencv-python 3.4.1.15 opencv-contrib-python 3.4.1.15,支持版本:python3.4,3.5,3.6

    python3.4+pywin32 32位

    Python 3.4是Python编程语言的一个重要版本,发布于2015年,它引入了许多新特性并改进了已有的功能。Pywin32是一个Python扩展模块集合,专为在Windows平台上操作Windows API和COM(组件对象模型)设计。在Python 3.4...

    Python3.4解压包 win7_64

    Python3.4是Python编程语言的一个重要版本,发布于2014年,它在Python3系列中引入了一些新特性和改进。这个名为"Python3.4解压包 win7_64"的压缩文件是专为Windows 7 64位操作系统设计的Python3.4安装目录的打包版本...

    Python3.4 中文手册(官方文档 内附详细教程说明)

    Python3.4是Python编程语言的一个重要版本,它在2014年发布,为开发者提供了许多增强特性和改进。这个版本的文档是学习Python3.4的基础资源,特别是对于初学者来说,它包含了详尽的教程和说明,能够帮助他们系统地...

    python3.4 ( 32 64 位)

    Python 3.4 是 Python 编程语言的一个重要版本,发布于2014年,它带来了许多增强和新特性,旨在提升开发者的效率和代码的可读性。这个压缩包包含了针对两种不同架构的安装程序,即32位和64位,以满足不同操作系统...

    opencv-python3.4.1.15.zip

    《OpenCV-Python3.4.1.15:手把手教你解决安装难题》 OpenCV,全称Open Source Computer Vision Library,是一个开源的计算机视觉库,它包含了众多图像处理和计算机视觉的算法,广泛应用于图像分析、机器学习以及...

    numpy for python3.4

    numpy for python3.4

    python.exe PYTHON3.4

    python.exe PYTHON3.4

    Python3.4 官方教程

    《Python3.4官方教程》是Python编程语言官方提供的详细指南,主要针对3.4版本进行阐述。这个教程分为两大部分:"tutorial"(教学)和"library"(库参考),旨在帮助用户全面理解并掌握Python 3.4的基础与进阶特性。 ...

    python3.4(X64)matplotlib所需安装包

    这些依赖包在你提到的压缩包“python3.4matplotlib绘图包(X64)”中应该已经包含。 首先,我们来看`matplotlib`。这是Python最广泛使用的数据可视化库之一,它的设计灵感来源于MATLAB。matplotlib提供了一个命令式...

    python3.4.16490.1437702276.msi

    然而,有时候用户可能会遇到卸载问题,如标题所述,“python3.4.16490.1437702276.msi”可能无法正常卸载。这可能是由于多种原因,如安装程序损坏、注册表项未正确清理、与其他程序冲突或系统权限不足等。为了解决这...

    python3.4爬取网络图片

    python3.4爬取网络图片,然后写入文件的示例小程序

    python 3.4 64bit

    Python 3.4 是 Python 编程语言的一个重要版本,发布于2014年,是3.x系列中的一个稳定版本。在这个版本中,Python 引入了许多新特性,优化了性能,并修复了大量的bug。针对你提到的问题,你打算从 Python 3.6 降级至...

    opencv-python 3.4.3.18

    opencv-python 3.4.3.18

    python3.4打包exe文件

    Python3.4打包成exe文件是一项常见的需求,它允许开发者将Python程序转化为可以在没有Python环境的Windows系统上运行的独立可执行程序。这通常通过使用第三方工具如PyInstaller、cx_Freeze或Py2exe实现。下面我们将...

    windows 64位 python-3.4安装包

    Python拥有一个强大的标准库。Python语言的核心只包含数字、字符串、列表、字典、文件等常见类型和函数,而由Python标准库提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等额外的功能。Python...

    python3.4绿化版

    Python 3.4 绿化版是一款轻量级的、便携式的 Python 开发环境,专为便于携带和快速使用而设计。绿化版通常指的是软件已经进行了一定程度的优化和封装,使得它无需安装即可在任何支持的系统上运行,减少了依赖性和...

    Computational Methods for Bioinformatics for Python 3.4

    Computational Methods for Bioinformatics: Python 3.4 by Jason Kinser (Author) This textbook provides an introduction for computational methods in bioinformatics using a spreadsheet, Python 3.4 and...

    python3.4pdf版文档

    这个“python3.4pdf版文档”是一个专门为A4纸打印设计的PDF格式教程,方便读者进行离线阅读和学习。 在Python 3.4中,主要的更新和改进包括: 1. **增强型yield from语法**:此版本引入了`yield from`表达式,允许...

    python3.4官方手册

    Python 3.4是Python编程语言的一个重要版本,发布于2014年,它引入了许多新特性,改进了性能,并修复了大量的bug。这个官方手册是学习和理解Python 3.4语法、库和框架的关键资源,对于开发者来说是不可或缺的参考...

Global site tag (gtag.js) - Google Analytics