#!/usr/bin/env python #-*-Encoding:utf-8-*-
From Cookielib import Cookie From Cookielib import Cookiejar From Cookielib import Filecookiejar From Cookielib import Lwpcookiejar Import Urllib2 # Author:nixawk
def make_cookie (name, value, domain, path= '/'): Return Cookie (version=0, Name=name, Value=value, Port=none, Port_specified=false, Domain=domain, Domain_specified=true, Domain_initial_dot=false, Path=path, Path_specified=true, Secure=false, Expires=none, Discard=false, Comment=none, Comment_url=none, Rest=none, Rfc2109=false)
def add_cookie (Cookiejar, cookie): If Isinstance (Cookiejar, Cookiejar): Cookiejar.set_cookie (Cookie)
def del_cookie (cookiejar, domain, Path, cookiename): If Isinstance (Cookiejar, Cookiejar): Cookiejar.clear (domain, path, cookiename)
def get_cookies_from_response (URL): Cookiejar = Cookiejar ()
Opener = Urllib2.build_opener ( Urllib2. Httpcookieprocessor (Cookiejar)) Opener.open (URL)
# Add a new cookie or replace a old one Newcookie = Make_cookie (' Newcookie ', ' 11111 ', '. baidu.com ', '/')
# Remove a cookie Cookiejar.clear ('. baidu.com ', '/', ' Newcookie ')
Cookiejar.set_cookie (Newcookie)
Import PDB Pdb.set_trace ()
Return Cookiejar
def save_cookies_to_file1 (URL): Cookiefile = ' Cookies.log '
Filecookiejar = Filecookiejar (filename=cookiefile)
Opener = Urllib2.build_opener ( Urllib2. Httpcookieprocessor (Filecookiejar)) Opener.open (URL)
# ******************************************* # Please read code cookielib [Filecookiejar]
# Filecookiejar.save (filename=cookiefile) # Raise Notimplementederror () # ******************************************
Try Filecookiejar.save () Except Notimplementederror as E: Print E
Return Filecookiejar
def save_cookies_to_file2 (URL): Cookiefile = ' Cookies.log '
Lwpcookiejar = Lwpcookiejar (filename=cookiefile)
Opener = Urllib2.build_opener ( Urllib2. Httpcookieprocessor (Lwpcookiejar)) Opener.open (URL)
Lwpcookiejar.save ()
Return Lwpcookiejar
From Pprint import Pprint Pprint (Get_cookies_from_response (' http://www.baidu.com '))
# Pprint (save_cookies_to_file1 (' http://www.baidu.com ')) # Pprint (save_cookies_to_file2 (' http://www.baidu.com ')) |