我们已经获取了cookies,本来按照剧情发展,我们下一步应该是使用这个cookies模拟登录了,但是偏偏我是一个比较欠的人,我想要弄清楚我们前面三种方法获取到的cookies是不是一样的,哦,不。其实应该是四种方法,那么我们现在就来看看这四个cookies有什么区别吧 1. 从本地文件获取的cookies 我们前面说过,我们找到的存放cookies的文件是一个叫 cookies.sqlite 的文件,这是一个数据库文件,我使用的linux系统要查看这个文件还需要安装别的程序,但是我想,既然这个是浏览器生成的文件,那么为了安全起见,它很可能会对数据进行各种处理,等到调用的时候,再按照自己的规则来进行解码,如果是这样的话,我觉得我们没有必要去深入的研究这个文件,而且它相对于其他两种方法来说也不是那么好用,所以对这种情况不予讨论 2. 使用浏览器的调试工具 这里其实可以获取到的有两个cookies,这也就是我前面为什么说一共有4个cookies的原因 我使用的是火狐浏览器,在爬虫的学习或者linux系统中,我觉得这款浏览器相对好用一些,其他的浏览器或许也有这样的功能但是我不是很熟悉,所以这里就以火狐浏览器来说明,为了便于对比,我这里用百度首页作为例子,好了,首先登录百度首页,然后按F12调出控制台,你会看到这样的界面 我们发现这里的cookies有很多的名称和内容,我们暂且不考虑这里的cookies是否全部都要使用到,我们先来看看另一种获取cookies的方法,就在Cookies稍左边的网络选项卡里面 我们可以看到这里有个响应头信息,也有请求头信息,我们前面在讨论浏览网页的流程这个问题时提到,客户端向服务器端发送请求,然后服务器端响应请求并发回数据,我们在网络选项卡这里看到有很多的 GET+xxxxxxxx之类的东西,可见,在我们打开一个网站的时候,所有的网页并不是一下子全部显示出来的,而是一部分一部分内容的请求响应然后发送接收数据,然后再把整个网页的内容慢慢的显示出来。在请求头信息这里我们也看到有一个cookies,那么这跟前面的cookies是不是一样的呢? 我对比了很多网站,发现有的是一样的有的是不一样的,如果感兴趣的话可以自己去尝试一下 3. 通过代码获取的cookies #!/uer/bin/env python |
|