urllib是Python内置的http请求库,用于获取网页内容
- urllib.request 请求模块
 - urllib.error 异常处理模块
 - urllib.parse URL解析模块
 
- 一个简单的get请求
 
import urllib.request
response=urllib.request.urlopen('http:\\baidu.com') 
print(response.read().decode('utf-8')) 
decode() 解码 encode()编码
urlopen返回对象提供方法:
- read() , readline() ,readlines() , fileno() , close() :这些方法的使用方式与文件对象完全一样
- info():返回一个httplib.HTTPMessage对象,表示远程服务器返回的头信息
- getcode():返回Http状态码。如果是http请求,200请求成功完成;404网址未找到
- geturl():返回请求的url
- 一个简单的post请求
 
import urllib.parse 
import urllib.request 
data = bytes(urllib.parse.urlencode({'hello':'world'}),encoding='utf-8') 
reponse = urllib.request.urlopen('http://httpbin.org/post',data=data) 
print(reponse.read()) 
使用data参数必须使用bytes(字节流)
from urllib import parse
#url='xxx'
a=parse.quote('文字',encoding='gbk')
#url=url+a
 
 
 
- 超时处理
 
import urllib.request 
response = urllib.request.urlopen('http://httpbin.org/get',timeout=1) 
print(response.read())
 
 
import urllib.request 
import socket import urllib.error 
try:
    response = urllib.request.urlopen('http://httpbin.org/get',timeout=0.01) 
except urllib.error.URLError as e: 
    if isinstance(e.reason,socket.timeout):#判断错误原因 
        print('time out!') 
 
- Reques对象
 
- 异常处理
 
- URL处理
 










