今天由於某些私人原因,學習時間比較少,學習內容為基礎的urllib error。
1、異常處理
一般常用的異常有兩個:httperror和urlerror。
urlerror一般出現的情況是沒有網路連線 、伺服器連線失敗、找不到指定的伺服器。例子如下:
1結果如下:try:
2 url = "
"3 response =request.urlopen(url)
4 html = response.read().decode("
utf-8")
5print
(html)
6except
error.urlerror as e:
7print(e.reason)
錯誤:網域名稱解析暫時失敗。
httperror是urlerror的子類,它的屬性code可以返回乙個錯誤的網頁狀態碼(英文原版),同時urllib 可以為我們處理重定向的頁面(也就是 3 開頭的響應碼),100-299 範圍的號碼表示成功,所以我們只能看到 400-599 的錯誤號碼。比如常見的http error 404: not found錯誤。
注意:由於httperror是urlerror的子類,所以要用到兩個異常捕獲時需要將子類放前,父類放後。這樣才能在httperror捕獲不到異常時,urlerror可以捕獲。
寒假大資料學習筆記十一
今天從山西衛健委官網上爬取新型冠狀病毒疫情有關內容的資料。到發部落格為止我只做了一半,只是將相關文字爬取下來,還沒有經過處理。那麼主要說一說我碰到的問題吧。主要就是爬取網頁的文字內容時受到網頁標籤的影響,難以規範地取得我想要的內容,影響包括但不限於各種稀奇古怪的位置上出現的換行符 空格 製表符。同時...
寒假大資料學習筆記九
2 建立scrapy專案 這是很麻煩的一步,因為pycharm沒法建立scrapy專案,所以無論是windows還是linux都需要使用命令建立,可以使用命令scrapy檢視所有的scrapy可使用命令。scrapy genspider 專案名 網域名稱 切換到想建立專案的的位置,輸入以上命令即可。...
寒假大資料學習筆記五
今天學習內容為正規表示式,這一塊我一整天竟然沒有學完。在一開始爬取網頁匹配有用的字串時,我用的是find方法,如下 和 jpg 來鎖定鏈結,這樣做十分不方便,因為很難保證得到的是想要的鏈結,一旦有非鏈結匹配成功,同樣也會被扒下來,這樣會對清洗資料造成很大的麻煩。而正規表示式,無疑會方便許多。但正規表...