python 实现登录网页的操作

简介: python 实现登录网页的操作
+关注继续查看

场景


有些网页需要你登录之后才可以访问,你需要提供账户和密码。

只要在发送http请求时,带上含有正常登陆的cookie就可以了。


首先我们要先了解cookie的工作原理。


Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。


Cookie名称和值可以由服务器端开发自己定义,对于JSP而言也可以直接写入jsessionid,这样服务器可以知道该用户是否合法用户以及是否需要重新登录等。


之后我们要获取到用户正常登录的cookie.


python提供了cookieJar的库,只要把cookieJar的实例作为参数传到urllib2的一个opener里面。

然后访问一次登录的页面,cookie就已经保存下来了。

之后通过这个实例访问所有的页面都带有正常登陆的cookie了。


这里以人人网为例子:

Python代码

20201020144918259.png


完整代码,可直接复制到编辑器使用


#encoding=utf-8  
import urllib2  
import urllib  
import cookielib  
def renrenBrower(url,user,password):  
    #登陆页面,可以通过抓包工具分析获得,如fiddler,wireshark 
    login_page = "http://www.renren.com/PLogin.do"  
    try:  
        #获得一个cookieJar实例  
        cj = cookielib.CookieJar()  
        #cookieJar作为参数,获得一个opener的实例  
        opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))  
        #伪装成一个正常的浏览器,避免有些web服务器拒绝访问。  
        opener.addheaders = [('User-agent','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)')]  
        #生成Post数据,含有登陆用户名密码。  
        data = urllib.urlencode({"email":user,"password":password})  
        #以post的方法访问登陆页面,访问之后cookieJar会自定保存cookie  
        opener.open(login_page,data)  
        #以带cookie的方式访问页面  
        op=opener.open(url)  
        #读取页面源码  
        data= op.read()  
        return data  
    except Exception,e:  
        print str(e)  
#访问某用户的个人主页,其实这已经实现了人人网的签到功能。  
print renrenBrower("http://www.renren.com/home","用户名","密码") 
————————————————
版权声明:本文为CSDN博主「爱笑的架构师」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/guoguo527/article/details/50463379
相关文章
|
3月前
|
机器人 UED Python
基于Python+Flask实现一个简易网页验证码登录系统案例
基于Python+Flask实现一个简易网页验证码登录系统案例
49 0
基于Python+Flask实现一个简易网页验证码登录系统案例
|
6月前
|
存储 数据库 数据安全/隐私保护
【Python】Python高校图书馆书籍管理系统(登录、注册、功能源码设计)【独一无二】
【Python】Python高校图书馆书籍管理系统(登录、注册、功能源码设计)【独一无二】
|
6月前
|
存储 JSON 前端开发
Python|Flask框架实现QQ账号登录
Python|Flask框架实现QQ账号登录
107 0
|
7月前
|
数据安全/隐私保护 Python
Python高级进阶#020 pyqt5登录窗体实战,综合实践案例
Python高级进阶#020 pyqt5登录窗体实战,综合实践案例
107 0
|
10月前
|
前端开发 机器人 Python
Python登录验证码
相信大家都明白,大多数的网站为了不被恶意访问,往往需要设置验证码登录,避免机器人访问,而造成我服务器瘫痪,崩溃,这里用到Python3,下面就来看看实现的具体过程吧!
Python登录验证码
|
10月前
|
数据安全/隐私保护 Python
|
12月前
|
Unix Linux 网络安全
简单的Python脚本,实现ssh登录配置路由器
简单的Python脚本,实现ssh登录配置路由器
505 0
简单的Python脚本,实现ssh登录配置路由器
|
12月前
|
数据库 数据安全/隐私保护 网络架构
python接口自动化(二十)--token登录(详解)
为了验证用户登录情况以及减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。有些登录不是用 cookie 来验证的,是用 token 参数来判断是否登录。token 传参有两种一种是放在请求头里,本质上是跟 cookie 是一样的,只 是换个单词而已;另外一种是在 url 请求参数里,这种更直观。
553 0
python接口自动化(二十)--token登录(详解)
|
12月前
|
数据库 数据安全/隐私保护 Python
python接口自动化(十三)--cookie绕过验证码登录(详解)
有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接)。获取不到也没关系,可以通过添加cookie的方式绕过验证码。(注意:并不是所有的登录都是用cookie来保 持登录的,有些是用token登录)
288 0
python接口自动化(十三)--cookie绕过验证码登录(详解)
|
Python
python简单登录
简单登录源代码
77 0
相关产品
云迁移中心
推荐文章
更多