1. 程式人生 > 程式設計 >Python urlopen()引數程式碼示例解析

Python urlopen()引數程式碼示例解析

1.data引數

data是可選的,需要使用bytes()方法將引數轉化為位元組編碼格式的內容。如果傳遞了這個引數,請求方式就不是GET方式,而是POST方式。

import urllib.parse
import urllib.request

data = bytes(urllib.parse.urlencode({'word':'hello'}),encoding='utf8')#使用bytes()方法將引數word(值是hello),轉換為位元組流(bytes),#該方法的第一個引數需要str型別,需要用urllib.parse模組裡的urlencode()方法將引數字典轉化為字串。response = urllib.request.urlopen('http://httpbin.org/post',data = data)
print(response.read())

2.timeout引數

用於設定超時時間,單位為秒,如果超出了設定的這個時間,還沒有得到響應,就會丟擲異常。可以通過設定這個超時時間來控制一個頁面長時間未響應時,就跳過它的抓取。

import socket
import urllib.request
import urllib.error

try:
  response = urllib.request.urlopen('http://httpbin.org/get',timeout=0.1)#設定超時時間為0.1s
except urllib.error.URLError as e:
  if isinstance(e.reason,socket.timeout):
    print('TIME OUT')#如果超時,輸出TIME OUT

3.其他引數

context引數,型別必須是ssl.SSLContext型別。

cafile和capath這兩個引數分別指定CA證書和它的路徑,在請求HTTPS連結時候有用。

cadefault引數已經棄用了,其預設值為False。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。