【Python】網絡爬蟲

前言:html

mooc上嵩天老師提供了容易上手的網絡爬蟲視頻教程。python

筆記內容:segmentfault

  requests庫    #requests官網詳細的介紹服務器

     time庫網絡

     BeautifulSoup庫app

擴展閱讀:關於反爬蟲,看這一篇就夠了post

    

一、requests庫方法 ui

網絡資源就像是一個黑盒,經過其接口(url),能夠獲取網絡資源(jpg,txt,gif,flash等)編碼

requests庫有一套完整的方法:url

其中requests.requset()是基礎的方法,能夠用此方法構造替代下面的get等具體的方法。但推薦使用get,head等單獨的方法。

requests.request() #構造一個請求,支撐如下各類方法的使用
requests.get() #獲取html網頁
requests.head()#獲取html網頁頭信息
requests.post()#向html網頁提交post請求
requests.put()#向html網頁提交put請求
requests.patch()#向html網頁提交局部修改請求
requests.delete()#向html網頁提交刪除請求
requests.options()

例子:

import requests   #導入requests庫
url=http://www.baidu.com 
r=requests.get(url)  #獲取url的對象
print(r.status_code) #狀態位200時,表示get成功,404或者其餘表示失敗
print(r.encoding)  #-->'ISO-8859-1'根據header猜想響應內容的編碼方式
print(r.apparent_encoding) #-->'utf-8'從內容中分析出的響應內容編碼方式
r.encoding='utf-8' #從新定義其編碼格式爲utf-8
print(r.text)#打印url連接的內容

其中的,推薦使用apparent_encoding,更準確。

2.requests.get()

在get一個url時,可能會出現錯誤,例如網絡鏈接失敗,http異常等。

requests.ConnectionError #網絡鏈接錯誤異常,如DNS查詢失敗、拒絕鏈接等
requests.HTTPError #HTTP錯誤異常
requests.URLRequried #url缺失異常
requests.TooManyRedirects #超過最大重定向次數,產生重定向異常
requests.ConnectTimeout #鏈接遠程服務器超時異常
requests.Timeout #請求url超時,產生超時異常
相關文章
相關標籤/搜索