python 网页cookie的使用

网页cookie的使用

Cookie,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)

# opener的概念
当你获取一个URL你使用一个opener(一个urllib2.OpenerDirector的实例)。在前面,我们都是使用的默认的opener,也就是urlopen。它是一个特殊的opener,可以理解成opener的一个特殊实例,传入的参数仅仅是url,data,timeout。

如果我们需要用到Cookie,只用这个opener是不能达到目的的,所以我们需要创建更一般的opener来实现对Cookie的设置

# Cookielib
cookielib模块的主要作用是提供可存储cookie的对象,以便于与urllib2模块配合使用来访问Internet资源。Cookielib模块非常强大,我们可以利用本模块的CookieJar类的对象来捕获cookie并在后续连接请求时重新发送,比如可以实现模拟登录功能。该模块主要的对象有CookieJar、FileCookieJar、MozillaCookieJar、LWPCookieJar。

关系:CookieJar —- 派生—->FileCookieJar —- 派生 —–> MozillaCookieJar和LWPCookieJar

1. 获取Cookie保存到变量
利用CookieJar对象实现获取cookie的功能,存储到变量中
# 例子

import urllib2
import cookielib

cookie = cookielib.CookieJar()
handler = urllib2.HTTPCookieProcessor(cookie)
opener = urllib2.build_opener(handler)
response = opener.open("http://www.baidu.com")
for item in cookie:
print ("Name=" + item.name)
print ("Value=" + item.value)

2. 保存Cookie到txt文件
将cookie保存到了cookie这个变量中,使用FileCookieJar的子类MozillaCookieJar来实现Cookie的保存

import urllib2
import cookielib

filename = "cookie.txt" # 设置保存cookie的文件
cookie = cookielib.MozillaCookieJar(filename) # 声明一个MozillaCookieJar对象实例来保存cookie
handler = urllib2.HTTPCookieProcessor(cookie) # 利用urllib2库的HTTPCookieProcessor对象来创建cookie处理器
opener = urllib2.build_opener(handler) # 通过handler来构建opener
response = opener.open("http://www.baidu.com") # 创建一个请求,原理同urllib2的urlopen
cookie.save(ignore_discard=True,ignore_expires=True) # 保存cookie到文件

注:ignore_discard的意思是即使cookies将被丢弃也将它保存下来,ignore_expires的意思是如果在该文件中cookies已经存在,则覆盖原文件写入

3. 从文件中获取Cookie并访问

import urllib2
import cookielib

cookie = cookielib.MozillaCookieJar()
cookie.load("cookie.txt",ignore_discard=True,ignore_expires=True)
request = urllib2.Request("http://www.baidu.com")
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
response = opener.open(request)
print (response.read())

  

4. 利用cookie模拟网站登录163邮箱
利用cookie实现模拟登录,并将cookie信息保存到文本文件中。

# eg_v1
import urllib
import urllib2
import cookielib

filename = "163mail.txt"
cookie = cookielib.MozillaCookieJar(filename)
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
postdata = urllib.urlencode({"email":"15800220134","password":"abc123456"})
loginURL = "http://mail.163.com/"
result = opener.open(loginURL,postdata)
cookie.save(ignore_discard=True,ignore_expires=True)
gradeURL = "http://mail.163.com/js6/main.jsp?sid=VDTWzvRRwIKUKIMaBmRRejDfKwRnmmNM&df=mail163_letter#module=welcome.WelcomeModule%7C%7B%7D"
result1 = opener.open(gradeURL)
print (result1.read())

# eg_v2
import urllib
import urllib2

def post(url,data):
request = urllib2.Request(url)
data = urllib.urlencode(data)
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor())
response = opener.open(request,data)
return response.read()

def main():
posturl = "http://mail.163.com"
data = {"email":"15800220134","password":"abc123456"}
print (post(posturl,data))

if __name__ == "__main__":
main()

 

 

时间: 2024-10-30 04:50:49

python 网页cookie的使用的相关文章

Python天气预报采集器 python网页爬虫

这个天气预报采集是从中国天气网提取广东省内主要城市的天气并回显.本来是打算采集腾讯天气的,但是貌似它的数据是用js写上去还是什么的,得到的html文本中不包含数据,所以就算了 爬虫简单说来包括两个步骤:获得网页文本.过滤得到数据. 1.获得html文本.  python在获取html方面十分方便,寥寥数行代码就可以实现需要的功能. def getHtml(url): page = urllib.urlopen(url) html = page.read() page.close() return

Python 网页爬虫

一.要解决的问题 需要解决的是根据自定义的关键词自动搜索google学术,解析搜索到的网页,下载所有相应的论文的PDF链接.这里我们采用Python来实现, 二.Python入门 python 自动缩进:shift+table整块向左缩进,table向右缩进,在修改整块代码时很有用比如将函数变成单独执行时. 了解python的变量,包,函数定义等 三.网页知识 3.1 浏览网页的过程 打开网页的过程其实就是浏览器作为一个浏览的“客户端”,向服务器端发送了 一次请求,把服务器端的文件“抓”到本地,

Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱(转)

原文:http://www.52nlp.cn/python-网页爬虫-文本处理-科学计算-机器学习-数据挖掘 曾经因为NLTK的缘故开始学习Python,之后渐渐成为我工作中的第一辅助脚本语言,虽然开发语言是C/C++,但平时的很多文本数据处理任务都交给了Python.离开腾讯创业后,第一个作品课程图谱也是选择了Python系的Flask框架,渐渐的将自己的绝大部分工作交给了Python.这些年来,接触和使用了很多Python工具包,特别是在文本处理,科学计算,机器学习和数据挖掘领域,有很多很多

一个极其简洁的Python网页抓取程序

paip. 混合编程的实现resin4 (自带Quercus ) 配置 php 环境 #---混合编程的类型 1.代码inline 方式 2.使用库/api  解析方式. #----配置resin 支持php resin4默认自动支持php.. 也能手动配置了.web.xml加php的servlet解析..参考Quercus让你的PHP开心在Servlet容器奔跑 #----配置 php.ini路线 运行t.php,,看见 Configuration File (php.ini) Path =>

【Python】Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱

好文 mark http://www.52nlp.cn/python-%E7%BD%91%E9%A1%B5%E7%88%AC%E8%99%AB-%E6%96%87%E6%9C%AC%E5%A4%84%E7%90%86-%E7%A7%91%E5%AD%A6%E8%AE%A1%E7%AE%97-%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0-%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98 曾经因为NLTK的缘故开始学习Python,之后渐渐成为我工

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

http://www.crifan.com/python_auto_handle_cookie_and_save_to_from_cookie_file/ #!/usr/bin/python # -*- coding: utf-8 -*- """ Function: [整理]Python中Cookie的处理:自动处理Cookie,保存为Cookie文件,从文件载入Cookie http://www.crifan.com/python_auto_handle_cookie_an

python网页爬虫浅析

Python网页爬虫简介: 有时候我们需要把一个网页的图片copy 下来.通常手工的方式是鼠标右键 save picture as ... python 网页爬虫可以一次性把所有图片copy 下来. 步骤如下: 1. 读取要爬虫的html 2. 对爬下来的html 进行存储并处理: 存储原始html 过滤生成list 正则匹配出picture的连接 3. 根据连接保存图片到本地 主要的难点: 熟悉urllib , 正则匹配查找图片链接 代码如下: import urllib.request im

Python Selenium Cookie 绕过验证码实现登录

Python Selenium Cookie 绕过验证码实现登录 之前介绍过博客园的通过cookie 绕过验证码实现登录的方法.这里并不多余,会增加分析和另外一种方法实现登录. 1.思路介绍 1.1.直接看代码,内有详细注释说明 # FileName : Wm_Cookie_Login.py # Author : Adil # DateTime : 2018/3/20 19:47 # SoftWare : PyCharm from selenium import webdriver import

python网页全部内容的获取

python网页全部内容的获取 1.升级pip的版本 2.安装requests包 3.前两步才可以引用requests包 例子 import requestsres = requests.get(‘http://news.sina.com.cn/china/xlxw/2018-01-17/doc-ifyqrewi9270282.shtml’)res.encoding = ‘utf-8’print(res.text) 原文地址:https://www.cnblogs.com/gome5/p/121