日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python中的urllib库_七、urllib库(一)

發布時間:2025/3/19 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python中的urllib库_七、urllib库(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

python2中,有urllib和urllib2兩個庫,在python3中統一為urllib庫

它是python內置的HTTP請求庫,包含了4個模塊:

request:最基本的HTTP請求模塊,用來模擬發送請求,就行瀏覽器傳入URL一樣,給庫方法傳入URL和額外的參數就可以實現

error:異常處理模塊,如果出現請求錯誤,可以捕獲這些異常,然后進行操作,保證程序不會以為終止

parse:工具模塊,提供了URL處理方法,比如拆分、解析、合并

robotparser:主要用來識別網站的robots.txt文件,然后判斷哪些網站可以爬,哪些不可爬

官方文檔:

https://docs.python.org/3/library/urllib.request.html

發送請求:

urllib.request模塊:

1、urlopen()

urllib.request模塊最基本的構造HTTP請求方法,可以模擬瀏覽器一個請求發起的過程,還帶有處理授權驗證、重定向、瀏覽器Cookies和其他內容

抓取python官網

查看返回的類型

是一個HTTPResponse類型,主要包含方法:

read()

readinto()

getheader(name)

getheaders()

fileno()

主要包含屬性:

msg

version

status

reason

debuglevel

closed

urlopen()參數

urllib.request.urlopen(url , data=None , [timeout , ]* , cafile=None , capath=None , catefault=False , context=None)

data參數

data是可選參數,bytes類型,如果不是就需要通過bytes()方法轉化,如果穿了data參數,那么請求方式就是POST,反之就是GET

bytes()方法的第一個參數需要是字符串類型,使用urllib.parse.urlencode()方法將參數字典轉換成字符串;第二個參數是指點編碼格式

結果看到傳的參數在form字段,表示模擬表單方式,以POST方式傳輸

timeout參數

用戶設置超時時間,單位是秒,如果請求超過這個時間還沒有響應,就拋出異常

超時的話會拋出超時

捕獲異常

context:必須是ssl.SSLContext類型,用于指點SSL設置

cafile、capath:指定CA證書和它的路徑

cadefault:默認是false,已經棄用

Request參數

發送請求依然使用urlopen()方法,只不過參數使用Request類型的對象

urllib.request.Request(url , data=None , headers={} , origin_req_host=None , unverifiable=flase , method=None)

url:請求的URL,必傳

data:必須是bytes類型,如果是字典,先用rullib.parse模塊里的 urlencode()編碼

headers:請求頭,字典形式,可以在參數直接構造,也可以通過調用add_header()方法添加

origin_req_host:請求方的host名或者IP地址

unverifiable:默認是flase,表示請求是否是無法驗證的,也就是用戶有沒有權限來接收這個請求的結果

method:字符串形式,指定請求的方式

高級用法Handler

urllib.request中的BaseHandler類,是其他所有Handler的父類,提供了最基本的方法,defult_open()、protocol_request()等

各種繼承這個BaseHandler父類的Handler子類:

HTTPDefaultErrorHandler:用于處理HTTP響應錯誤,錯誤都會拋出HTTPError類型的異常

HTTPRedirectHandler:處理重定向

HTTPCookieProcessor:處理Cookies

ProxyHandler:設置代理,默認代理為空

HTTPPasswordMgr:管理密碼,維護了用戶名和密碼的表

HTTPBasicAuthHandler:管理認證,如果打開鏈接需要認證,用它可以解決

還有其他類,查看所有的官方文檔:

httos://docs.python.org/3/library/urllib.request.html#urllib.request.BaseHandler

OpenerDirector類

簡稱Opener,urlopen()方法就是urllib提供的一個Opener

Request和urlopen相當于類庫為我們封裝了常用的一些方法,利用這些可以完成基本的請求,想要完成更高級的功能,需要使用更底層的實例完成,就用到了Opener

Opener可以使用open()方法,和urlopen()一樣

利用Handler來構建Opener

實例:

1、驗證

例如打開網站時彈框提示登錄,登錄后才可以查看頁面

實例化HTTPPasswordMgrWithDefaultRealm對象,它利用add_password()添加用戶名密碼,這樣就建立了一個處理驗證的Handler

利用這個Handler使用build_opener()方法構建一個Opener,這個Opener在方式請求時就相當于已經驗證成功了

然后Opener利用open()方法打開連接就可以完成驗證,獲取到的就是驗證后的頁面源代碼

2、代理

爬蟲免不了做代理,添加代理

使用ProxyHandler,參數是一個字典,鍵名是協議類型,如:HTTP或者HTTPS,值是代理鏈接,可以添加多個代理

然后利用這個Handler及build_opener()方法構造一個Opener,之后發送請求

3、Cookies

將網站的Cookies獲取下來,打印

首先聲明一個CookieJar對象,然后利用HTTPCookieProcessor來構建一個Handler,最后利用build_opener()方法構建出Opener,執行open()方法

輸出成文件格式

CookieJar換成MozillaCookieJar,生成文件時用,是CookieJar的子類,用來處理Cookie和文件相關的事,比如讀取、保存,可以將Cookie保存成Mozilla型瀏覽器的Cookie形式

LWPCookieJar同樣可以讀取和保存Cookie,但是保存的格式和MozillaCookieJar不一樣,它會保存成libwww-perl(LWP)格式的Cookie文件

讀取并使用Cookie

lod()方法用來讀取本地Cookie文件,獲取內容,然后構建Handler和Opener完成操作

官方文檔:

https://docs.python.org/3/library/urllib.request.html#basehandler-objects

總結

以上是生活随笔為你收集整理的python中的urllib库_七、urllib库(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品人妻一区二区免费视频 | 99热偷拍| 国产一区日韩精品 | 超碰精品在线 | 精品国产乱码久久久久久免费 | 日韩二区三区 | 国产露脸91国语对白 | 日韩特一级 | 红桃av| 成人久久18免费网站图片 | 国产chinesehd精品露脸 | 亚洲日本一区二区 | 欧美天堂在线 | 操皮视频| 粉嫩精品久久99综合一区 | 国产视频一区在线观看 | 国产成人精品视频在线观看 | 69av在线 | 色婷婷av777 麻豆传媒网站 | 精品国产www | 亚洲在线观看一区二区 | 91岛国 | 日韩欧美国产三级 | 国产亚洲欧美日韩高清 | 日本熟女一区二区 | 少妇精品久久久久www | 亚洲一级精品 | 麻豆成人91精品二区三区 | 懂色av色吟av夜夜嗨 | 奇米影视第四色7777 | 亚洲精品久久久蜜桃 | 欧美粗暴jizz性欧美20 | 在线色综合 | 精品一区二区三区无码按摩 | 99婷婷| 黄色1级片 | 桃色一区 | 欧美午夜性生活 | 亚洲一区有码 | 91免费网站在线观看 | 99久久久无码国产精品性波多 | 95香蕉视频| 五月天综合激情 | 激情精品 | 少妇做爰k8经典 | 国产真人毛片 | 国产精品探花在线观看 | 就要操就要射 | 欧美综合一区二区三区 | 国产精品99久久久 | 日本两性视频 | 国产精品卡一 | 欧美日韩极品 | 91亚洲精华国产精华精华液 | 国产女人18水真多18精品一级做 | 国产成人av一区二区三区在线观看 | 中文天堂在线播放 | 黑帮大佬和我的三百六十五天 | 在线视频日韩欧美 | 四虎永久网址 | 精品人妻一区二区三区麻豆91 | 日韩在线播放av | 亚洲视频免费在线观看 | 粉嫩av一区二区三区天美传媒 | 一本一道精品欧美中文字幕 | 少妇视频一区二区三区 | 日韩在线视屏 | 在线黄色观看 | 香蕉污视频 | 欧美精产国品一二三区 | a级片免费在线观看 | 亚洲成人国产 | 伊人久在线 | 最新版天堂资源在线 | 台湾男男gay做爽爽的视频 | 亚洲欧美一区二区三区在线 | 99热在线这里只有精品 | 国产精品久久久久久免费 | 日本不卡高清视频 | av观看网址 | 久久一级电影 | 成人小视频免费在线观看 | 国产欧美综合视频 | 日韩伊人| 久操视频免费观看 | 少妇欧美激情一区二区三区 | 在线免费观看av网 | 黄色91免费版 | 色多多av | 免费高清av| 欧美黄网站在线观看 | 国产精品人人爽人人爽 | 久伊人网 | 女优在线观看 | porn国产 | 无码精品人妻一区二区三区影院 | 午夜精品久久久久久久久 | 一区二区三区三区在线 | 成人午夜在线观看视频 |