Python Web编程
一、urlparse模块
urlparse模块提供操作url字符串基本功能。
urlparse.urllparse() 将URL字符串拆分解析成六个元组(prot_sch、net_loc、path、params、query、frag)
>>> urlparse.urlparse('http://www.python.org/doc/FAQ.html') ('http', 'www.python.org', '/doc/FAQ.html', '', '', ''),
二、urllib、urllib2
urllib.urlopen()
urllib.urlretrieve()
urlretrieve(url,filename=None,reporthook=None,data=None) 下载文件
urllib2.urlopen()
urllib2.Requests()
三、requests
requests 第三方库,须先安装requests模块(pip install requests)
常用的发送请求:
>>> import requests
>>> r = requests.get('http://www.baidu.com') #向百度发送get请求
>>> r = requests.post('url', data = {'key':'value'})
>>> r = requests.put('url', data = {'key':'value'})
>>> r = requests.delete('url')
>>> r = requests.head('url')
>>> r = requests.options('url')
URL参数传递
>>> payload = {'key1': 'value1', 'key2': 'value2'}
>>> r = requests.get("http://www.baidu.com", params = payload)
>>> print(r.url)
http://www.baidu.com/key1=value1&key2=value2
响应内容
>>> r = requests.get('http://www.baidu.com')
>>> r.text
>>> r.encoding #查看当前编码
'ISO-8859-1'
>>> r.encoding = 'utf-8' #更改编码为utf-8
二进制响应内容
>>> r = requests.get('http://www.baidu.com')
>>> r.content
JSON响应内容
>>> r = requests.get('http://www.baidu.com') >>> r.json() #json解释器,处理json数据
定制请求头
>>> url = 'http://www.baidu.com' >>> headers = {'user-agent': 'Mozilla/5.0...', 'content-type':'application'} #可加入cookies >>> r = requests.get(url, headers=headers)
复杂的POST请求
>>> payload = {'key1': 'value1', 'key2': 'value2'}
>>> r = requests.post("httpbin.org/post", data=payload)
响应状态码
响应头
Cookie
重定向与请求历史
超时
错误与异常

浙公网安备 33010602011771号