Python urlopen()參數(shù)代碼示例解析
1.data參數(shù)
data是可選的,需要使用bytes()方法將參數(shù)轉(zhuǎn)化為字節(jié)編碼格式的內(nèi)容。如果傳遞了這個(gè)參數(shù),請(qǐng)求方式就不是GET方式,而是POST方式。
import urllib.parseimport urllib.requestdata = bytes(urllib.parse.urlencode({’word’:’hello’}),encoding=’utf8’)#使用bytes()方法將參數(shù)word(值是hello),轉(zhuǎn)換為字節(jié)流(bytes),#該方法的第一個(gè)參數(shù)需要str類型,需要用urllib.parse模塊里的urlencode()方法將參數(shù)字典轉(zhuǎn)化為字符串。response = urllib.request.urlopen(’http://httpbin.org/post’,data = data)print(response.read())
2.timeout參數(shù)
用于設(shè)置超時(shí)時(shí)間,單位為秒,如果超出了設(shè)置的這個(gè)時(shí)間,還沒有得到響應(yīng),就會(huì)拋出異常。可以通過設(shè)置這個(gè)超時(shí)時(shí)間來(lái)控制一個(gè)頁(yè)面長(zhǎng)時(shí)間未響應(yīng)時(shí),就跳過它的抓取。
import socketimport urllib.requestimport urllib.errortry: response = urllib.request.urlopen(’http://httpbin.org/get’,timeout=0.1)#設(shè)置超時(shí)時(shí)間為0.1sexcept urllib.error.URLError as e: if isinstance(e.reason,socket.timeout): print(’TIME OUT’)#如果超時(shí),輸出TIME OUT
3.其他參數(shù)
context參數(shù),類型必須是ssl.SSLContext類型。
cafile和capath這兩個(gè)參數(shù)分別指定CA證書和它的路徑,在請(qǐng)求HTTPS鏈接時(shí)候有用。
cadefault參數(shù)已經(jīng)棄用了,其默認(rèn)值為False。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Android table布局開發(fā)實(shí)現(xiàn)簡(jiǎn)單計(jì)算器2. 理解PHP5中static和const關(guān)鍵字3. jQuery 實(shí)現(xiàn)DOM元素拖拽交換位置的實(shí)例代碼4. php模擬實(shí)現(xiàn)斗地主發(fā)牌5. IntelliJ IDEA安裝插件的方法步驟6. phpstorm恢復(fù)默認(rèn)設(shè)置的方法步驟7. Vue封裝一個(gè)TodoList的案例與瀏覽器本地緩存的應(yīng)用實(shí)現(xiàn)8. Python random庫(kù)使用方法及異常處理方案9. Vuex localStorage的具體使用10. .Net Core使用Coravel實(shí)現(xiàn)任務(wù)調(diào)度的完整步驟

網(wǎng)公網(wǎng)安備