1.  读取selenium模块保存的本地cookie文件来访问知乎

读取http://www.cnblogs.com/strivepy/p/9233389.html保存的本地cookie来访问知乎的用户设置界面,用selenium保存下来的json文件如下格式:

 [{"domain": "www.zhihu.com", "expiry": 1527855266.402958, "httpOnly": false, "name": "tgw_l7_route", "path": "/", "secure": false, "value": "200d77f3369d188920b797ddf09ec8d1"},
{"domain": ".zhihu.com", "expiry": 1622462366.40309, "httpOnly": false, "name": "d_c0", "path": "/", "secure": false, "value": "\"AFAkkY_hrg2PTvLVtweW-Ok8mRLKop4IJZY=|1527854371\""},
{"domain": ".zhihu.com", "httpOnly": false, "name": "_xsrf", "path": "/", "secure": false, "value": "7da6b4e4-c77d-47a4-81fa-68b1262235c8"}....后面的删掉了]

包含很多用不到的信息,比如pathsecure等,在读取cookie只需要读取每个cookienamevalue属性。代码放在名为zhihu.py模块中:

 # -*- coding: utf-8 -*-

 import requests
import json
import os
from requests.cookies import RequestsCookieJar def parse_index():
url = 'https://www.zhihu.com/settings/account'
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36'
}
cookies = getcookies_decode_to_dict()
# cookies = getcookies_decode_to_cookiejar()
# requests.get()方法的cookies参数只接收Dict或者CookieJar对象
response = requests.get(url=url, headers=headers, cookies=cookies)
print(response.url)
print(response.text) def getcookies_decode_to_dict():
path = os.getcwd() + '/cookies/'
if not os.path.exists(path):
print('Cookie文件不存在,请先运行cookiesload.py')
else:
cookies_dict = {}
with open(path + 'cookies.txt', 'r') as f:
cookies = json.loads(f.read())
for cookie in cookies:
cookies_dict[cookie['name']] = cookie['value']
return cookies_dict def getcookies_decode_to_cookiejar():
path = os.getcwd() + '/cookies/'
if not os.path.exists(path):
print('Cookie文件不存在,请先运行cookiesload.py')
else:
cookiejar = RequestsCookieJar()
with open(path + 'cookies.txt', 'r') as f:
cookies = json.loads(f.read())
for cookie in cookies:
cookiejar.set(cookie['name'], cookie['value'])
return cookiejar if __name__ == '__main__':
parse_index()

获取到的源码显示,已经成功抓取到知乎用户设置页面。

Python3 使用requests库读取本地保存的cookie文件实现免登录访问的更多相关文章

  1. Python3下requests库发送multipart/form-data类型请求

    [本文出自天外归云的博客园] 要模拟multipart/form-data类型请求,可以用python3的requests库完成.代码示例如下: #请求的接口url url = "url&q ...

  2. [zz]【整理】Python中Cookie的处理:自动处理Cookie,保存为Cookie文件,从文件载入Cookie

    http://www.crifan.com/python_auto_handle_cookie_and_save_to_from_cookie_file/ #!/usr/bin/python # -* ...

  3. python3添加requests库

    1.资源下载 https://codeload.github.com/psf/requests/zip/master https://www.python.org/ https://files.pyt ...

  4. Python3中requests库学习01(常见请求示例)

    1.请求携带参数的方式1.带数据的post data=字典对象2.带header的post headers=字典对象3.带json的post json=json对象4.带参数的post params= ...

  5. IOS 读取本地的Json/plist 文件

    一.一般本地可以存储轻量级数据存储 plist  这个主要是操作字典 方法如下: NSString * sampleFile= [[[NSBundle mainBundle] bundlePath] ...

  6. 利用Cookie保存用户身份信息实现免登录

    <%@page import="sun.misc.BASE64Encoder"%> <%@page import="java.util.Base64.E ...

  7. Python3 urllib库和requests库

    1. Python3 使用urllib库请求网络 1.1 基于urllib库的GET请求 请求百度首页www.baidu.com ,不添加请求头信息: import urllib.requests d ...

  8. urllib和requests库

    目录 1. Python3 使用urllib库请求网络 1.1 基于urllib库的GET请求 1.2 使用User-Agent伪装后请求网站 1.3 基于urllib库的POST请求,并用Cooki ...

  9. IOS webview中cookie的读取与保存-b

    Cookie 的读取 将它放在 webViewDidFinishLoad 开始后执行 NSArray *nCookies = [[NSHTTPCookieStorage sharedHTTPCooki ...

随机推荐

  1. Bootstrap-table学习笔记(二)——前后端分页模糊查询

    在使用过程中,一边看文档一边做,遇到了一些困难的地方,在此记录一下,顺便做个总结: 1,前端分页 2,后端分页 3,模糊查询 前端分页相当简单,在我添加了2w条测试数据的时候打开的很流畅,没有卡顿. ...

  2. Dawn 阿里开源前端开发构建工具

    Dawn 取「黎明.破晓」之意,原为「阿里云·业务运营团队」内部的前端构建和工程化工具,现已完全开源.它通过pipeline 和 middleware 将开发过程抽象为相对固定的阶段和有限的操作,简化 ...

  3. 前端mvc mvp mvvm 架构介绍(vue重构项目一)

    首先 我们为什么重构这个项目 1:我们现有的技术是前后台不分离,页面上采用esayUI+jq构成的单页面,每个所谓的单页面都是从后台胜场的唯一Id 与前端绑定,即使你找到了那个页面元素,也找不到所在的 ...

  4. FTP上传失败报错227 Entering Passive Model (222,111,8,111,10,40)

    昨天为了一个ftp问题折腾了一天.问题背景:原来有个接口涉及到上传文件,服务端更换了ftp服务器,我们这边需要刷新连接服务端的ip和端口配置,代码没动.联调环境和验收环境都测试通过,一到生产环境就歇菜 ...

  5. Linux LED字符设备驱动

    // 申请IO资源 int gpio_request(unsigned gpio, const char *label); // 释放IO资源 void gpio_free(unsigned gpio ...

  6. 【转】c# 判断指定文件是否存在

    private void button2_Click(object sender, EventArgs e) { if (File.Exists(@"E:\exists.txt") ...

  7. SpringMvc入门四----rest风格Url

    知识点: REST风格URL简介 SpringMvc对rest风格的支持 @PathVariable 获取 Url 变量 SpringMvc对静态资源的处理 REST风格URL简介: 我们平时看到的s ...

  8. Spring Session实现Session共享下的坑与建议

    相信用过spring-session做session共享的朋友都很喜欢它的精巧易用-不依赖具体web容器.不需要修改已成项目的代码.笔者在使用spring-session的过程中也对spring-se ...

  9. 杂项:WiKi

    ylbtech-杂项:WiKi Wiki是一种在网络上开放且可供多人协同创作的超文本系统,由沃德·坎宁安于1995年首先开发,这种超文本系统支持面向社群的协作式写作,同时也包括一组支持这种写作.沃德· ...

  10. 安装ElasticSearch客户端Kibana

    安装Kibana Kibana是一个为 ElasticSearch 提供的数据分析的 Web 接口.可使用它对日志进行高效的搜索.可视化.分析等各种操作. wget https://artifacts ...