vue移動端 滾動
阿新 • • 發佈:2021-01-12
技術標籤:python
1.requests庫的安裝
1.使用pip install requests;
2.使用pycharm安裝requests庫(可見本人的視訊資源);
pycahrm安裝requests庫
2.requests庫的get方法使用
r = requests.get(url)
在這裡構成了一個向伺服器請求資源的Requests物件;
這裡的r返回包含伺服器資源的Response物件;
requests.get(url,params=None,**kwargs)
url : 擬獲取頁面的url連結
params : url中的額外引數,字典或位元組流格式,可選
我們來看下requests庫的get方法原始碼:
def get(url, params=None, **kwargs):
r"""Sends a GET request.
:param url: URL for the new :class:`Request` object.
:param params: (optional) Dictionary, list of tuples or bytes to send
in the query string for the :class:`Request`.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:return: :class:`Response <Response>` object
:rtype: requests.Response
"""
kwargs.setdefault('allow_redirects', True)
return request('get', url, params=params, **kwargs)
我們可以看到get()使用requests()來封裝,requests庫一共7個常用方法除了requests()外其餘的6個方法均用requests()來封裝。
Requests庫的兩個重要物件分別是Requests物件和Response物件,其中Response物件包含了爬蟲返回的資訊。
我們使用r.status_code返回狀態碼,如果返回的狀態碼時200則表示訪問成功,否則訪問失敗;
r.headers表示返回請求頁面的頭部資訊;
屬性 | 說明 |
---|---|
r.status_code | HTTP請求的返回狀態,200表示連線成功,404表示連結失敗 |
r.text | HTTP響應內容的字串形式,即,url對應的頁面內容 |
r.encoding | HTTP header猜測的響應內容編碼方式 |
r.apparent | 從內容分析出響應內容的編碼格式 |
r.content | HTTP響應內容的二進位制格式 |
3.爬取網頁通用程式碼框架
import requests
def getHTMLText(url):
try:
r = requests.get(url,timeout=30)
r.raise_for_status() # 如果狀態不是200,則會引發HTTPError異常
r.encoding = r.apparent_encoding
return r.text
except:
return "產生異常"
if __name__=="__main__":
url = "http://www.baidu.com"
print(getHTMLText(url))