Python3网络爬虫(3):Python3使用Cookie-模拟登陆
来源:互联网 发布:网络兼职配音 编辑:程序博客网 时间:2024/05/16 14:19
Python版本:Python3.x
IDE:Mac ,Pycharm
一、为什么要使用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来访问其他网址。查看登录之后才能看到的信息。
代码
# -*- coding: UTF-8 -*-import urllib.requestfrom http import cookiejarfrom http import cookiesfrom urllib import parse#通过cookieJar类构建一个cookieJar对象,用来保存cookie的设置、cookie=cookiejar.CookieJar()#通过一个HttpCookieProcessor()处理器类构建一个处理器对象,用来处理cookie#参数就是构建的cookieJar对象、cookie_handle=urllib.request.HTTPCookieProcessor(cookie)opener=urllib.request.build_opener(cookie_handle)#人人网登陆接口url='http://www.renren.com/PLogin.do'data1={"email":"304774164@qq.com","password":"dc***"}#通过urlencode()编码转换data=urllib.parse.urlencode(data1).encode('utf-8')request=urllib.request.Request(url,data=data)response=opener.open(request)print(response.read().decode('utf-8'))
通过返回的html信息,我们可以看出登录已经成功,并且获取到本人的用户信息。
本文参考了此篇博客http://blog.csdn.net/c406495762
阅读全文
0 0
- Python3网络爬虫(3):Python3使用Cookie-模拟登陆
- Python3网络爬虫:使用Cookie-模拟登陆
- Python3网络爬虫(六):Python3使用Cookie-模拟登陆获取妹子联系方式
- Python3网络爬虫(三):Python3使用Cookie-模拟登陆获取妹子联系方式
- python3 爬虫 模拟登陆豆瓣修改签名
- Python3爬虫代理服务器与cookie的使用
- 网络爬虫-使用Cookie登陆
- python3.5模拟登陆
- Python3爬虫登录模拟
- python3版本爬虫系列之模拟登陆CSDN
- python3实现网络爬虫(3)--BeautifulSoup使用(2)
- python3使用urllib模块制作网络爬虫
- python3网络爬虫框架
- python3爬虫 - cookie登录实战
- python3实现网络爬虫(5)--模拟浏览器抓取网页
- Python3网络爬虫(五):Python3安装Scrapy
- Python3.5.2模拟网站登陆
- python3使用cookie
- 2.1、控制结构
- Dubbo2.5.3集群容错和负载均衡
- 【哥德巴赫猜想】
- 空包签名
- PHP strip_tags使用时需要使用的HTML系列函数
- Python3网络爬虫(3):Python3使用Cookie-模拟登陆
- 多条件筛选
- spring bean
- 使用Robot Framework做webUI测试安装配置教程
- poj2236 Wireless Network
- Spring系列——定时任务
- CentOS安装和配置JDK
- Android开发优化之的强引用、软引用、弱引用的使用
- 2.2、数组