urllib :
使用urllib.urlencode() 进行url编码, 在requests中自带有url编码
接受的参数是: 字典类型
urllib2:
先构建请求: request = urllib2.Request()需要三个参数: url, data, headers
再反送请求,返回响应: response = urllib2.urlopen(request)
-------------------------------------------------------------------------------------------------------------
# python3中多了一个request,response = urllib.request.urlopen()
get请求方式没有data
请求报头 headers = {"User-Agent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11"}
# 构建请求对象,这个请求附带请求报头
request = urllib2.Request(url, headers = headers)
# 发送并得到请求响应
response = urllib2.urlopen(request)
html = response.read() # 读取响应内容
有就修改没有就添加
request. add_header('Connection', 'keep-alive')
第一个参数是键名,第二参数是值
获取指定的请求报头的值,首字母大写,后面全部小写
request . get_header()
获取url
response.url
获取响应码
response.code
import random
random.choice(列表等可迭代对象)随机选择可迭代中的一个
urlencode(url编码:只能使用ASCII编码,所以要用urlencode编码成url字符串,接收的参数是字典类型) 是urllib中独有的,这就是urllib和urllib2混用的原因
url编码转化成字符串
data = urllib.unquote("a=%E4%B8%AD%E5%9B%BD%E5%BC%BA")
print data
a = 中国强