python 利用浏览器 Cookie 模拟登录的用户访问知乎的方法

yipeiwu_com5年前Python基础

首先在火狐浏览器上登录知乎,然后使用火狐浏览器插件 Httpfox 获取 GET 请求的Cookie,这里注意使用状态值为 200(获取成功)的某次GET.

将 Cookies 复制出来,注意这一行非常长,不要人为添加换行符。而且 Cookie 中使用了双引号,最后复制到代码里使用单引号包起来。

使用下边代码检验是否是模拟了登录的用户的请求:

import requests
import re
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0',
'Cookie':'q_c1=034d8149e54a425496b7dd78be571390|1496424997000|1496424997000; r_cap_id="ZDE4MTg2NGFhMjdlNDlhMTllZWFlMmJmNjkzN2MyMzI=|1496487358|d6df41ad90d6d1a94bcbd27f2962fea69d2ec1b6"; cap_id="OTc1NmViYzJlNDZjNDVlY2E1YTZiNTZjNTFkMjZkNDY=|1496487358|52ac19a9e05ee48e155d2b4d57d414792873c062"; d_c0="AEACLgSM2guPTmR8y-3r_XCeIy3RVmMIrQ0=|1496424997"; __utma=51854390.870770348.1496424950.1496483801.1496485796.4; __utmz=51854390.1496485796.4.3.utmcsr=baidu|utmccn=(organic)|utmcmd=organic; __utmv=51854390.100--|2=registration_date=20141101=1^3=entry_date=20141101=1; _zap=5b305d08-cca7-4182-b1a8-1d8190e94a3b; aliyungf_tc=AQAAAFdv8y0T4AMAj5NK3+HVvqiouPgb; acw_tc=AQAAAHPUpVJ7LQQAj5NK35xm3ILOPUBu; _xsrf=85bb3aa751345649abdd275cb42ed704; __utmc=51854390; capsion_ticket="2|1:0|10:1496486629|14:capsion_ticket|44:ODJkNDE0MDQ1MjNmNDYwZTlhZGViZWNhNWNlZDI4Y2E=|6ded3f3e82c25526f236a4bd135705bb334e25d8df96750d89afa5ae4ab49a04"; __utmb=51854390.8.10.1496485796; __utmt=1; z_c0=Mi4wQUFCQVJBVV9BQUFBUUFJdUJJemFDeGNBQUFCaEFsVk56U0phV1FCdTNCeVduZVZ3X0hweWxnWTRIeTZmMmtyUEFn|1496487376|d6107bbdbb3ccd015757953a40ee1ecedae6834c'
}
r = requests.get("https://www.zhihu.com/question/20273782", headers = headers)
text = r.text
re.compile(r"加入知乎").search(text)

如果是登录的用户,响应的内容中包含用户名。没用登录的话,响应的内容中包含 “登录”,“加入知乎” ,可以据此来判断。

Cookie 每次登录的值都不一样,退出之后再登录需要重新采集。

以上这篇python 利用浏览器 Cookie 模拟登录的用户访问知乎的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python:slice与indices的用法

slice:   eg:     >>>e=[0,1,2,3,4,5,6]     >>>s=slice(2,3)     >>&...

pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法

pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法

代码: import sys from PyQt5.QtWidgets import (QWidget, QHBoxLayout, QLabel, QApplication) fro...

Python实现最常见加密方式详解

Python实现最常见加密方式详解

前言 我们所说的加密方式,都是对二进制编码的格式进行加密的,对应到Python中,则是我们的Bytes。 所以当我们在Python中进行加密操作的时候,要确保我们操作的是Bytes,否...

利用TensorFlow训练简单的二分类神经网络模型的方法

利用TensorFlow训练简单的二分类神经网络模型的方法

利用TensorFlow实现《神经网络与机器学习》一书中4.7模式分类练习 具体问题是将如下图所示双月牙数据集分类。 使用到的工具: python3.5  &nbs...

Python 日期的转换及计算的具体使用详解

日期的转换及计算 对于日期,有时需执行不同时间单位的转换,或者接受字符串格式的日期,转换为 datetime 对象。有时需计算日期的范围,以及特定某个星期几的日期。这里更多用到的是 P...