urllib模組的使用

2021-08-02 17:49:57 字數 2617 閱讀 5834

urllib.request.urlopen(url, data=none, [timeout, ]*, cafile=none, capath=none, cadefault=false, context=none)

直接用urllib.request模組的urlopen()獲取頁面,page的資料資料格式為bytes型別,需要decode()解碼,轉換成str型別.

from urllib import request

response = request.urlopen(r'') # httpresponse型別

page = response.read()

page = page.decode('utf-8')

urllib.request.request(url, data=none, headers={}, method=none)

使用request()來包裝請求,在通過urlopen()獲取頁面

url = r''

headers =

req = request.request(url, headers=headers)

page = request.urlopen(req).read()

page = page.decode('utf-8')

用來包裝頭部的資料:

urllib.request.urlopen(url, data=none, [timeout, ]*, cafile=none, capath=none, cadefault=false, context=none)

urlopen()的data引數預設為none,當data引數不為空時,urlopen()提交方式為post.

from urllib import request, parse

url = r''

headers =

data =

data = parse.urlencode(data).encode('utf-8')

req = request.request(url, headers=headers, data=data)

page = request.urlopen(req).read()

page = page.decode('utf-8')

urllib.parse.urlencode(query, doseq=false, safe=」, encoding=none, errors=none)

urlencode()主要作用就是將url附上要提交的資料.

data

= data

= parse.urlencode(data).encode('utf-8')

經過urlencode()轉換後的data資料為?first=true?pn=1?kd=python,最後提交的url為first=true?pn=1?kd=python

post的資料必須是bytes,不能是str因此需要進行encode()編碼.這裡依然使用了request進行包裝.

當然也可以把data資料封裝在urlopen()引數中.

當需要抓取的**設定了訪問許可權,這時就需要用到**來抓取服務.

data = 

proxy = request.proxyhandler() # 設定proxy

opener = request.build_opener(proxy) # 掛載opener

request.install_opener(opener) # 安裝opener

data = parse.urlencode(data).encode('utf-8')

page = opener.open(url, data).read()

page = page.decode('utf-8')

return page

urllib模組的使用

url 需要開啟的 data post提交的資料 timeout 設定 的訪問超時時間 直接用urllib.request模組的urlopen 獲取頁面,page的資料格式為bytes型別,需要decode 解碼,轉換成str型別。1 from urllib import request 2 res...

Python中urllib模組的使用

建立乙個表示遠端url的類檔案物件,然後像本地檔案一樣操作這個類檔案物件來獲取遠端資料。引數url表示遠端資料的路徑,一般是 引數data表示以post方式提交到url的資料 玩過web的人應該知道提交資料的兩種方式 post與get。如果你不清楚,也不必太在意,一般情況下很少用到這個引數 引數pr...

urllib和re模組的使用

re模組的使用 匹配任意乙個字元,除了 n 匹配字串的開頭 匹配字串的結尾 re模組 1 complie方法 將正規表示式的字串形式編譯為乙個pattern物件 2,match方法 從起始位置開始匹配符合規則的字串,單次匹配,匹配成功,立即返回match物件,未匹配成功則返回none 3.searc...