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

 

 重定向与请求历史

 

 超时

 

 错误与异常

 

 

 

 

posted @ 2019-08-01 17:36  REDgreen  阅读(159)  评论(0)    收藏  举报