Python 3 6 之 urlopen方法的學習

2021-08-21 15:48:58 字數 1376 閱讀 3310

''

'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 框架 ...