国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python爬蟲之urllib庫常用方法用法總結大全

2020-02-15 23:40:40
字體:
來源:轉載
供稿:網友

Urllib

官方文檔地址:https://docs.python.org/3/library/urllib.html

urllib提供了一系列用于操作URL的功能。

本文主要介紹的是關于python urllib庫常用方法用法的相關內容,下面話不多說了,來一起看看詳細的介紹吧

1、讀取cookies

import http.cookiejar as cj,urllib.request as requestcookie = cj.CookieJar()handler = request.HTTPCookieProcessor(cookie)opener = request.build_opener(handler)response = opener.open('http://www.bigdata17.com')for item in cookie: print(item.name + "=" + item.value)

2、將cookies保存在文件中

filename = 'baidu_cookies.txt'cookies = cj.MozillaCookieJar(filename)handler = request.HTTPCookieProcessor(cookies)opener = request.build_opener(handler)response = opener.open('http://www.baidu.com')cookies.save(ignore_discard=True,ignore_expires=True)

3、處理異常

URLError和HTTPError類,兩個類是父子關系,HTTPError會返回錯誤代碼,兩個類都可以處理request模塊產生的異常,這兩個都有一個reason屬性,用于記錄出現異常的原因
URLError處理異常:

from urllib import request,errortry: response = request.urlopen('http://www.bigdata17.com/index.htm')except error.URLError as e: print(e.reason)

HTTPError處理異常:

這個類是專門處理http請求的異常,http請求會返回一個請求代碼,因此HTTPError會有一個code屬性。另外HTTP請求會有包含請求頭信息,所以HTTPError還包含一個headers屬性。HTTPError繼承自URLError類,因此也包含有reason屬性。

代碼:

try: response = request.urlopen('http://www.bigdata17.com/index.htm')except error.HTTPError as e: print(e.reason) print(e.code) print(e.headers)

4、解析鏈接

urllib庫中的parse類提供了很多用于解析鏈接的方法。

urlparse()方法是專門用于解析鏈接的,我們先看這個方法的返回值:

from urllib.parse import urlparseresult = urlparse('http://www.bigdata17.com')print(result)

上面的代碼返回的結果:

ParseResult(scheme='http', netloc='www.bigdata17.com', path='', params='', query='', fragment='')

可見urlparse()方法返回的是ParseResult類,這個了有6個屬性,分別是scheme、netloc、path、params、query和fragment。其中scheme代表的是協議,有http,https,ftp等協議類型。netloc是網站域名,path是要訪問的網頁名稱。params是代表參數。query查詢參數,fragment是錨點。

urlparse()方法是如何將一個鏈接映射到上面的6個參數中呢?
繼續看下一段代碼:

from urllib.parse import urlparseresult = urlparse('http://www.bigdata17.com/22.html;user=bigdata17?id=10#content')print(result)            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 葵青区| 凤城市| 卢湾区| 宁夏| 全州县| 青川县| 平舆县| 罗定市| 太湖县| 镇江市| 乌海市| 济阳县| 神农架林区| 壶关县| 高密市| 文登市| 南部县| 龙口市| 同江市| 乌鲁木齐县| 宜昌市| 阿鲁科尔沁旗| 孙吴县| 天峻县| 光山县| 通化市| 铁岭市| 佛冈县| 临城县| 芦溪县| 会泽县| 嘉义县| 宝清县| 河间市| 呼伦贝尔市| 米易县| 靖安县| 同德县| 滨海县| 来宾市| 武山县|