python学习2:urllib2

来源:互联网 发布:软件系统项目总结 编辑:程序博客网 时间:2024/04/26 07:11

打开指定URL,捕捉超时异常

def urlopen():    url = "http://www.sina.com/no-exist"    try:        s = urllib2.urlopen(url, timeout=3)    except urllib2.HTTPError, e:        print(e)    else:        print(s.read())        s.close()

定制HTTP头

def request():    headers = {"User-Agent": "Mozilla/5.0", "X-my-header": "my value"}    url = "http://blog.kamidox.com"    req = urllib2.Request(url, headers=headers)    s = urllib2.urlopen(req)    print(s.read(100))    print(req.headers)    s.close()

POST请求

def request_post_debug():    data = {"username": "snow", "password": "xxxxxx"}    headers = {"User-Agent": "Mozilla/5.0", "Content-Type": "plain/text"}    req = urllib2.Request("http://www.douban.com", data=urllib.urlencode(data), headers=headers)    opener = urllib2.build_opener(urllib2.HTTPHandler(debuglevel=1))    s = opener.open(req)    print(s.read(100))    s.close()

自定义opener,debuglevel=1可以打印debug数据

def install_debug_handler():    opener = urllib2.build_opener(urllib2.HTTPHandler(debuglevel=1),                           urllib2.HTTPSHandler(debuglevel=1))    urllib2.install_opener(opener)install_debug_handler()

cookie

import cookielibdef handle_cookie():    cookiejar = cookielib.CookieJar()    hander = urllib2.HTTPCookieProcessor(cookiejar=cookiejar)    opener = urllib2.build_opener(hander, urllib2.HTTPHandler(debuglevel=1))    s = opener.open("http://www.douban.com")    print(s.read(100))    s.close()    print("#" * 80)    print(cookiejar._cookies)    print("#" * 80)    # 第二次访问会包含cookie        s = opener.open("http://www.douban.com")    print(s.read(100))    s.close()
0 0
原创粉丝点击