urllib基本使用-Handler和自定义的opener()
生活随笔
收集整理的這篇文章主要介紹了
urllib基本使用-Handler和自定义的opener()
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
""" 基本的urlopen()方法不支持代理、cookie等其他的HTTP/HTTPS高級功能。所以要支持這些功能:
使用相關的 Handler處理器 來創建特定功能的處理器對象;
然后通過 urllib.requestbuild_opener()方法使用這些處理器對象,創建自定義opener對象;
使用自定義的opener對象,調用open()方法發送請求。 如果程序里所有的請求都使用自定義的opener,
可以使用urllib2.install_opener() 將自定義的 opener 對象 定義為 全局opener,
表示如果之后凡是調用urlopen,都將使用這個opener(根據自己的需求來選擇)
"""
import urllib.request
# 構建一個HTTPHandler 處理器對象,支持處理HTTP請求
http_handler = urllib.request.HTTPHandler()
# 構建一個HTTPHandler 處理器對象,支持處理HTTPS請求
#http_handler = urllib.request.HTTPSHandler()
# 構建一個HTTPHandler 處理器對象,支持處理HTTP請求,同時開啟Debug Log,debuglevel 值默認 0
http_handler = urllib.request.HTTPHandler(debuglevel=1)
# 調用urllib.request.build_opener()方法,創建支持處理HTTP請求的opener 對象
opener = urllib.request.build_opener(http_handler)
# 構建Request請求
request = urllib.request.Request('http://www.baidu.com/')
# 調用自定義opener對象的open()方法,發送request請求
response = opener.open(request)
print(response.read().decode('utf-8'))
使用相關的 Handler處理器 來創建特定功能的處理器對象;
然后通過 urllib.requestbuild_opener()方法使用這些處理器對象,創建自定義opener對象;
使用自定義的opener對象,調用open()方法發送請求。 如果程序里所有的請求都使用自定義的opener,
可以使用urllib2.install_opener() 將自定義的 opener 對象 定義為 全局opener,
表示如果之后凡是調用urlopen,都將使用這個opener(根據自己的需求來選擇)
"""
import urllib.request
# 構建一個HTTPHandler 處理器對象,支持處理HTTP請求
http_handler = urllib.request.HTTPHandler()
# 構建一個HTTPHandler 處理器對象,支持處理HTTPS請求
#http_handler = urllib.request.HTTPSHandler()
# 構建一個HTTPHandler 處理器對象,支持處理HTTP請求,同時開啟Debug Log,debuglevel 值默認 0
http_handler = urllib.request.HTTPHandler(debuglevel=1)
# 調用urllib.request.build_opener()方法,創建支持處理HTTP請求的opener 對象
opener = urllib.request.build_opener(http_handler)
# 構建Request請求
request = urllib.request.Request('http://www.baidu.com/')
# 調用自定義opener對象的open()方法,發送request請求
response = opener.open(request)
print(response.read().decode('utf-8'))
轉載于:https://www.cnblogs.com/AndyChen2015/p/7418280.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的urllib基本使用-Handler和自定义的opener()的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 建设信用卡多久提额
- 下一篇: 关于现代软件工程学习