- urlopen
定義:
urlopen(url, data=None, timeout=socket._GLOBAL_DEFAULT_TIMEOUT,
*, cafile=None, capath=None, cadefault=False, context=None)
功能:像讀文件一樣讀網頁
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
"打開網頁"
from urllib import request
baidu = request.urlopen('http://www.baidu.com')
baidu.readline()
2.urlretrieve
urlretrieve(url, filename=None, reporthook=None, data=None)
功能:下載網頁到文件
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
"打開網頁"
from urllib import request
baidu = request.urlretrieve('http://www.baidu.com','/www/python/baidu.html')
#如果urlretrieve不傳文件名的話會自動生成,運行完程序可以刪除
request.urlcleanup()
3.urlcleanup
清除urlretrieve產生的臨時文件,及opener對象
4.Request對象
class Request:
def __init__(self, url, data=None, headers={},
origin_req_host=None, unverifiable=False,
method=None)
# url是網址,data數據,header頭消息,origin_req_host相當於referrer,method請求的方法(如get,post)
示例代碼:
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
from urllib.request import Request
rq = Request('http://www.baidu.com')
這個類的主要乾的事
操作url,data,header
@property 可以像訪問屬性一樣訪問方法
@name.setter 可以向設置屬性一樣設置調用方法
@name.deleter 刪除屬性
- request_host(request)
得到request對象的主機