urllib2 使用

urllib2 使用

urllib2是用来发送http请求,获取响应数据的库。基础用法:

import urllib2

# urlopen返回类文件对象,可选参数data与请求头header
response = urllib2.urlopen('http://bozpy.sinaapp.com', [data, [header]])
body = response.read() # 类文件对象有与文件对象类似的方法,read,readline等
heade = response.info() # 获取响应的头,字典
url = response.geturl() # 获取响应的真实url,如果有重定向,url会改变

上例的请求为GET请求,如果需要带QueryString,要先编码。

import urllib
url = 'http://bozpy.sinaapp.com/'
data = {'page': 2}
full_url = url + '?' + urllib.urlencode(data) # urllib.urlencode() 数据编码
# 'http://bozpy.sinaapp.com/?page=2'

urlopen方法中不带data是请求为GET,带data请求则为POST。

response = urllib2.urlopen('http://bozpy.sinaapp.com', urllib.urlencode(data))

request heade 类型为字典。可用于定义User-Agent。

定制request
import urllib2, urllib

r = urllib2.Request(url, [data, [header]]) # 返回Request实例
r.add_header(k, v) # 添加请求头
r.add_data(urllib.urlencode(data)) # 添加数据
response = urllib2.urlopen(r)
关于cookie
import urllib2, cookielib

cj = cooklib.CookieJar() # cookie处理对象
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) # 生成opener,注册cj
response = opener.open(url) # 发送request,如果response带有cookie则存到cj上

opener.open(otherurl) # 再请求是自动带上cookie
urllib
import urllib
urllib.quote(str) # 转义字符串用于url中
urllib.unquote(str) # 反转
其它

昨天写了两个小工具,所有这里总结下用到的urllib2库。

postEntry.py 通过文件发文章到Boz 
player.py XBMC小工具

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值