终于到这里了,卡了两天,纠结的地方主要是在选择什么网站来作为示范,因为现在的网站有好多都有验证码,比较难弄,或者像百度一样什么信息都不给,本来还以为到后面不得不使用公司low low的OA网站,不过幸好无意中看到一个符合我的要求的,能完成讲解也能让你们实践的网站,大大的松了一口气
好了,闲话不多说,上回我们对比了获取到的几个cookies,然后经过实践知道了要使用哪个,现在我们来看看怎么使用cookies直接登录网站,
首先来看看我们这部分实例中要使用到的网站:
大家可以先注册一个账号试试看登陆后的界面是怎么样的
首先我们还是 F12 找到网络选项卡,然后按 F5 刷新,在请求头信息里面寻找cookies
这个网站的cookies只有两个,比较少,感兴趣的话可以点开右边的Cookies选项卡,这里的两个cookies是一样的,然而拿到了cookies我也还是不知道怎么写代码,但是我发现,这个cookies是在请求头信息里面的,请求头不就是headers吗,那是不是说,我只要把这个cookies写进headers,然后在发送出去就可以了呢
于是我进行了尝试,为了减少其他部分的干扰,我甚至连异常处理都没加进去,就只是简单的构造请求,发送头信息,打开网址,如果看过之前的内容你会发现,当我在调试某些新的功能的时候,我会尽量简化代码,把不需要的东西全部去掉,对于我来说,这是一个很好的方法,代码越长,出错的地方就会越多,我只是为了验证某个函数或者某种方法能否成功,所以只要最基本的功能就行了,其他的完全没有必要
#!/usr/bin/env python# -*- coding: UTF-8 -*-__author__ = '217小月月坑'''' 使用cookies直接登陆'''import urllib2# 要登陆的网址url = 'http://www.lvye.org/userinfo.php?uid=409557'user_agent = 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:39.0) Gecko/20100101 Firefox/39.0'host = 'www.lvye.org'referer = 'http://www.lvye.org/index.php'cookies = 'PHPSESSID=8e1mu8g2akohgtdvlitv314ct3; lvyebbs=290738b8c90d8cf97c03922248ba629e134e944a1248e7351eded398c4bb6b1a'heasers = {'User-Agent':user_agent, 'Host':host, 'Referer':referer, 'Cookie':cookies}request = urllib2.Request(url,headers=heasers)response = urllib2.urlopen(request)print response.read()
好了我们来看看输出
这里只是截取了一小段的代码,输出有了,但是我凭着这个输出并不能确认我是不是已经登陆上去了,我也不知道结果里面显示的是登陆前的代码还是登陆后的代码,或者应该这样说,怎么判断我写的代码是否已经成功登陆网站了呢?