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. 1080. MOOC期终成绩 (25)

    对于在中国大学MOOC(http://www.icourse163.org/)学习“数据结构”课程的学生,想要获得一张合格证书,必须首先获得不少于200分的在线编程作业分,然后总评获得不少于60分(满 ...

  2. 串口通信(C#实践)

    最近在做一个和智能硬件设备(数字焊接电源)通信的应用软件.和各设备之间通信使用的是串口或网络(Socket)的方式. 理论 串口通信,.NET 里提供了专门操作串口的类 System.IO.Ports ...

  3. LA4992 Jungle Post

    题意 PDF 分析 炸连续的比炸单独的好. 二分答案,每种炸连续的构成一些半平面,判断半平面交是否为空. 时间复杂度\(O(T n \log^2)\) 代码 这题卡常,排序的时候必须事先算出幅角,不然 ...

  4. 【转】使用Jmeter录制web脚本

    1.web性能测试以及web http请求基本原理. 再介绍录制jmeter脚本之前,我们先谈一下web性能测试.web就是调用http/https接口, 其实没有是什么复杂度可言.只是我们必须清楚, ...

  5. java中绘制长方形,椭圆形,圆形的方法

    总结:方法,main函数的作用你还没搞清楚 //画一个矩形 import java.awt.*; import javax.swing.*; public class Test2 extends JF ...

  6. LevelDB Cache实现机制分析

    几天前淘宝量子恒道在博客上分析了HBase的Cache机制,本篇文章,结合LevelDB 1.7.0版本的源码,分析下LevelDB的Cache机制. 概述 LevelDB是Google开源的持久化K ...

  7. juc原子类之二:基本类型原子类AtomicInteger(AtomicLong、AtomicBoolean)

    一.AtomicInteger简介 AtomicInteger, AtomicLong和AtomicBoolean这3个基本类型的原子类的原理和用法相似.以AtomicInteger对基本类型的原子类 ...

  8. 1074 Reversing Linked List

    题意: 每k个元素反转链表,不足k个就不反转.如原链表为1→2→3→4→5→6,k=3,则反转后的链表为3→2→1→6→5→4:若k=4,则反转后的链表为4→3→2→1→5→6. 思路: 这题会比较烦 ...

  9. oracle 11g r2 rac到单实例的dg

    oracle 11g r2 rac到单实例的dg 1 主备环境说明 rac环境--primary CentOS release 6.5 (Final)hostname rac1 rac2ip 10.* ...

  10. explain解析

    MySQL执行计划调用方式执行计划包含的信息执行计划显示内容解读MySQL执行计划的局限MySQL5.6支持OPTIMIZER_TRACE 1.什么是归并排序?将已有序的子序列合并,得到完全有序的序列 ...