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庫的使用一---基本使用
- python爬蟲常用庫之urllib詳解Python爬蟲
- Python爬蟲進階之urllib庫使用方法Python爬蟲
- 爬蟲基本原理及urllib庫的基本使用爬蟲
- 升級支援 requests 庫更新:相容最新 urllib3 版本及相關庫
- Python3 urllib 與 Python2 urllib的變化Python
- 爬蟲中網路請求的那些事之urllib庫爬蟲
- Python 爬蟲十六式 - 第二式: urllib 與 urllib3Python爬蟲
- 2 25urllib.py
- Python urllib HTTP頭注入漏洞PythonHTTP
- python urllib 基礎之 3Python
- python urllib 基礎 get ajaxPython
- urllib庫在python2和python3環境下的使用區別Python
- 001-urllib讀取網頁網頁
- 學習Python的urllib模組Python
- Python模組之urllib模組Python
- 爬蟲-urllib模組的使用爬蟲
- python爬蟲基礎之urllibPython爬蟲
- urllib.request.Request物件封裝請求物件封裝
- 爬蟲-urllib3模組的使用爬蟲
- Python使用內建urllib模組或第三方庫requests訪問網路資源Python
- 使用Urllib2製作有道翻譯器
- python urllib.parse urlparse path url路徑分割Python
- python urllib socks5 auth username password 設定Python
- 【Python】用原生的urllib2+httplib請求HttpsPythonHTTP
- java如何實現python的urllib.quote(str,safe='/')JavaPython
- JB的Python之旅-爬蟲篇--urllib和Beautiful SoupPython爬蟲
- macos使用包含urllib.request的多程序問題Mac
- python3:urllib.request 的主要函式說明Python函式
- 解決:ModuleNotFoundError: No module named ‘urllib3.packages.six.moves問題ErrorPackage
- Python自動化測試 :urllib2 傳送HTTP RequestPythonHTTP
- python urllib2中文亂碼怎麼解決Python
- python爬蟲系列(4.5-使用urllib模組方式下載圖片)Python爬蟲
- python爬蟲--urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certiPython爬蟲ErrorAI
- 用urllib爬取鏈家北京地區所有小區的戶型圖
- 網路爬蟲——Urllib模組實戰專案(含程式碼)爬取你的第一個網站爬蟲網站