''
'1.urlopen的使用原始碼:
def urlopen(url, data=none, timeout=socket._global_default_timeout,*, cafile=none, capath=none, cadefault=false, context=none):
其中重要引數:
data: 請求中附加送給伺服器的資料(如:使用者名稱和密碼等);
timeout:超時的時間,以秒為單位,超過多長時間即報錯/;
最基礎的用法 -- urlopen(url, data=none) '''
import urllib.request
import urllib.parse
import socket
import urllib.error
# a.僅有url的情況,data = none:
res1 = urllib.request.urlopen('')
# 請求返回的物件型別為httpresponse物件,主要包含read()、status、getheader(name)等
# print(type(res1)) -- 返回的物件
# print(res1.status) -- 返回的狀態 200
# print(res1.read()) -- 返回的網頁內容
# b.data不為空的情況(模擬了表單提交的方式,以 post 方式傳輸資料):
# 如果要新增該引數,並且如果它是位元組流編碼格式的內容,即 bytes 型別,則需要通過 bytes()方法轉化。
# 如果傳遞了這個引數,則它的請求方式就不再是 get方式,而 是 post 方式。
# bytes() 將字串轉換為位元組流,後面是編碼規則'utf-8'
# urlencode()將乙個欄位或元組轉換為url查詢字串
data = bytes(urllib.parse.urlencode(), encoding ='utf-8')
# 這裡注意url後面跟的post
res2 = urllib.request.urlopen('', data=data)
# print(res2.read())
# c.timeout:
# 用於設定超時時間,單位為秒。如果請求超出了設定的這個時間,還沒有得 到響應,就會丟擲異常。
try:
res3 = urllib.request.urlopen('',timeout=0.1)
except urllib.error.urlerror as e:
if isinstance(e.reason,socket.timeout):
print('time out')
python3 6 之 環境安裝
安裝python環境需要的依賴 yum install gccpatch libffi devel python devel zlib devel bzip2 devel openssl devel ncurses devel sqlite devel readline devel tk devel...
python3 6 爬蟲例子
importurllib.request importre importos importurllib.erroraserror url 請求 request urllib.request.request url 爬取結果 response urllib.request.urlopen reques...
Mac 解除安裝Python3 6
mac 自帶的 python 已經能夠滿足我們的需要了,因此很多同學在安裝完 python 之後,又想要將其刪除,或者稱之為解除安裝。對於刪除 python,我們首先要知道其具體都安裝了什麼,實際上,在安裝 python 時,其自動生成 1 python framework,即 python 框架 ...