当前位置:   article > 正文

python提取浏览器Cookie

python 读取360 cookie

在用浏览器进行网页访问时,会向网页所在的服务器发送http协议的GET或者POST等请求,在请求中除了指定所请求的方法以及URI之外,后面还跟随着一段Request Header。Request Header的内容主要用于描述本地信息,如所用的浏览器、所用的系统、语言、所能接受的返回数据的编码格式等,其中有一个非常重要的Header项就是Cookie,Cookie可以说是网站的自定义数据集。由于服务器端无法无法控制本地(浏览器)的内存数据,但服务器又有必要搜集与自己所提供的服务相关的本地状态信息,而Cookie就承载了这一功能,目的是记录用户在网站的状态信息。

在用python对网页进行访问的时候,如果希望得到与在网页端相同的结果,用该网页在浏览器中所保留的Cookie作为python的请求Cookie是一个比较值得推荐的做法。

本文主要讨论如何提取浏览器保存在本地的Cookie,所用的浏览器为Chrome。

 

 

Cookie文件

Chrome用sqlite来维护Cookie,Cookie中的信息被保存在sqlite数据库当中,如果系统为Windows,那么数据库文件所在的位置为[1]

C:\Users\{UserName}\AppData\Local\Google\Chrome\User Data\Default\Cookies

其中该路径的{UserName}是当前系统的用户名。

  1. username = os.environ.get('USERNAME')
  2. cookie_file = 'C:\Users\{UserName}\AppData\Local\Google\Chrome\User Data\Default\Cookies'.format(UserName=username)

 

 

Cookie表单

通过Cookie文件路径,我们可以建立数据库连接,然后提取出数据库的信息。

  1. con = sqlite3.connect(cookie_file)
  2. cursor = con.cursor()

数据库中的cookies表就是用于保存浏览器Cookie的。提取表中各列的名称

  1. cursor.execute('SELECT * FROM cookies')
  2. for description in cursor.description:
  3. print(description[0])

各字段的描述如下

  • creation_utc:Cookie产生的utc时间
  • host_key:Cookie所在的网页(domain)
  • name:Cookie名称
  • value:不加密的Cookie值,由于Chrome几乎都会对Cookie值加密后再存储,因此这个字段基本都是空的
  • path:如果服务器需要设置Cookies,那么服务器在响应浏览器请求的
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/384414
推荐阅读
相关标签
  

闽ICP备14008679号