1. 程式人生 > >python3的urllib的request模組

python3的urllib的request模組

  1. 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相當於referrermethod請求的方法(如getpost

示例程式碼:

#!/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 刪除屬性
  1. request_host(request)
    得到request物件的主機