urllib庫
1 urlopen()
給Python官網爬下來
# urlopen()
import urllib.request
response = urllib.request.urlopen('https://www.python.org')
print(response.read().decode('utf-8'))
2 檢視返回的型別
#檢視返回的型別
import urllib.request
response = urllib.request.urlopen('https://www.python.org')
print(type(response))
#<class 'http.client.HTTPResponse'>
這是一個HTTPResponse型別的物件,包含的方法有:
read()
readinto()
getheader(name)
getheaders()
fileno() 等。。。
屬性:msg
version
status
reason
debuglevel
closed
3 再來看一個例子
#再來看一個例子
import urllib.request
response = urllib.request.urlopen('https://www.python.org')
print(response.status)
print(response.getheaders())
print(response.getheader('Server'))
#200
#這裡的太長了,省略掉
#nginx
4 urlopen() 函式的API
#urlopen() 函式的API
urllib.request.urlopen(url, data=None, [timeout, ]*,
cafile=None, capath=None, cadefault=False, context=None)
5 data引數
import urllib.parse
import urllib.request
data = bytes(urllib.parse.urlencode({'word':'hello'}), encoding='utf8')
response = urllib.request.urlopen('http://httpbin.org/post', data=data)
print(response.read())
#執行結果不展示了
6 timeout引數
#這裡的timeout引數的意思是,程式1秒之後,
#伺服器依然沒有響應,就會丟擲URLError異常
import urllib.request
response = urllib.request.urlopen('http://httpbin.org/get', timeout=1)
print(response.read())
#結果不展示了
import socket
import urllib.request
import urllib.error
try:
response = urllib.request.urlopen('http://httpbin.org/get', timeout=0.1)
print(response.read())
except urllib.error.URLError as e:
if isinstance(e.reason, socket.timeout):
print('TIME OUT')
7 Request
class urllib.request.Request(url, data=None, headers={},
origin_req_host=None, unverifiable=False, method=None)
看一個例子
傳入多個引數構建請求
# 傳入多個引數構建請求
from urllib import request, parse
url = 'http://httpbin.org/post'
headers = {
'User-Agent':'Mozilla/4.0(compatible;MSIC 5.5;Windows NT)',
'Host':'httpbin.org'
}
dict = {
'name':'Germey'
}
data = bytes(parse.urlencode(dict), encoding='utf8')
req = request.Request(url=url, data=data, headers=headers, method='POST')
response = request.urlopen(req)
print(response.read().decode('utf-8'))
相關文章
- Python中urllib和urllib2庫的用法Python
- Urllib3庫詳解
- urllib庫的常見用法
- Urllib庫的使用一---基本使用
- 2.python爬蟲基礎——Urllib庫Python爬蟲
- python爬蟲常用庫之urllib詳解Python爬蟲
- Python urllib/urllib2 的簡單包裝Python
- 爬蟲基本原理及urllib庫的基本使用爬蟲
- Python爬蟲進階之urllib庫使用方法Python爬蟲
- Python 標準庫 urllib2 的使用細節Python
- 升級支援 requests 庫更新:相容最新 urllib3 版本及相關庫
- 爬蟲中網路請求的那些事之urllib庫爬蟲
- Python3 urllib 與 Python2 urllib的變化Python
- Python 爬蟲十六式 - 第二式: urllib 與 urllib3Python爬蟲
- 爬蟲-urllib模組的使用爬蟲
- Python模組之urllib模組Python
- Python模組學習:urllibPython
- Python urllib HTTP頭注入漏洞PythonHTTP
- 學習Python的urllib模組Python
- python urllib 基礎之 3Python
- python urllib 基礎 get ajaxPython
- 001-urllib讀取網頁網頁
- 爬蟲-urllib3模組的使用爬蟲
- python爬蟲基礎之urllibPython爬蟲
- urllib庫在python2和python3環境下的使用區別Python
- urllib2實現簡單爬蟲爬蟲
- python小專題——urllib2模組Python
- urllib.error.HTTPError:HTTPError403:ForbiddenErrorHTTPORB
- urllib.request.Request物件封裝請求物件封裝
- Python使用內建urllib模組或第三方庫requests訪問網路資源Python
- 使用Urllib2製作有道翻譯器
- Python3爬蟲實戰(urllib模組)Python爬蟲
- Python爬蟲學習(1): urllib的使用Python爬蟲
- python urllib2詳解及例項Python
- 如何使用 urllib 包獲取網路資源
- python urllib socks5 auth username password 設定Python
- python中使用urllib下載網站圖片Python網站
- macos使用包含urllib.request的多程序問題Mac