Python3网络爬虫:使用Cookie-模拟登陆
来源:互联网 发布:mac后台程序关不上 编辑:程序博客网 时间:2024/06/05 04:55
该文是http://blog.csdn.net/c406495762博客的学习笔记.
为什么要使用Cookie
Cookie,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。
比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓取某个页面内容,登陆前与登陆后是不同的,或者不允许的。
使用Cookie和使用代理IP一样,也需要创建一个自己的opener。在HTTP包中,提供了cookiejar模块,用于提供对Cookie的支持。
http.cookiejar功能强大,我们可以利用本模块的CookieJar类的对象来捕获cookie并在后续连接请求时重新发送,比如可以实现模拟登录功能。该模块主要的对象有CookieJar、FileCookieJar、MozillaCookieJar、LWPCookieJar。
它们的关系: CookieJar–派生–>FileCookieJar–派生–>MozillaCookieJar和LWPCookieJar
工作原理:创建一个带有cookie的opener,在访问登录的URL时,将登录后的cookie保存下来,然后利用这个cookie来访问其他网址。查看登录之后才能看到的信息。
使用方法:
- 创建cookie的实例对象 CookieJar/FileCookieJar/MozillaCookieJar
cookie = cookiejar.CookieJar()
- 创建cookie实例对象的处理器,也就CookieHandler
handler = request.HTTPCookieProcessor(cookie)
- 通过CookieHandler创建opener
opener = request.build_opener(handler)
- 使用opender的open方法打开网页
response = opener.open('http://www.baidu.com')
下面是一个完整的例子:
from urllib import requestfrom http import cookiejar# 1.创建cookie的实例对象cookie = cookiejar.CookieJar()# 2.创建cookie处理器,也就CookieHandlerhandler = request.HTTPCookieProcessor(cookie)# 3.通过CookieHandler创建openeropener = request.build_opener(handler)# 4.使用opender的open方法打开网页response = opener.open('http://www.baidu.com')# 打印cookie信息for item in cookie: print('Name = %s' % item.name) print('Value = %s' % item.value)
阅读全文
0 0
- Python3网络爬虫:使用Cookie-模拟登陆
- Python3网络爬虫(3):Python3使用Cookie-模拟登陆
- Python3网络爬虫(六):Python3使用Cookie-模拟登陆获取妹子联系方式
- Python3网络爬虫(三):Python3使用Cookie-模拟登陆获取妹子联系方式
- 网络爬虫-使用Cookie登陆
- 楚江数据网络爬虫-使用Cookie登陆
- python3 爬虫 模拟登陆豆瓣修改签名
- php模拟登陆,网络爬虫
- python使用cookie模拟登陆
- Python3爬虫代理服务器与cookie的使用
- python selenium网络爬虫 模拟登陆
- python3版本爬虫系列之模拟登陆CSDN
- Python爬虫基础——利用cookie实现模拟登陆
- Python爬虫学习日记:模拟带有cookie的登陆
- Python3爬虫之五网页下载器的几种方法【Python使用cookie模拟登录CSDN】
- httpclient模拟登陆(使用js设置cookie)
- [Python]网络爬虫(三):使用cookiejar管理cookie 以及 模拟登录知乎
- python3使用urllib模块制作网络爬虫
- hihocoder 1174 拓扑排序·一
- 《统计学习方法》笔记三
- ccf I’m stuck!
- Ubuntu16.04-x64安装caffe(仅CPU)并测试
- 学习笔记(二)
- Python3网络爬虫:使用Cookie-模拟登陆
- socket、websocket后台信息日志输出使用
- 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 C.Sum
- Java反射机制
- Android Studio 手动下载 gradle 版本地址
- Markdown 高级语法进阶-zybuluo
- PAT [A1020]-Tree Traversals
- 引导页
- java_Throwable继承树