本文主要介紹python爬蟲的兩大利器:requests和BeautifulSoup庫的基本用法。html
能夠經過3種方式安裝:java
這裏只介紹pip安裝方式:python
輸出:linux
下面將上面獲取到的網頁html內容寫入到文件中,這裏有一點須要注意的是:python是調用ASCII編碼解碼程序去處理字符流的,當字符不屬於ASCII範圍時會拋異常(ordinal not in range(128)),因此要提早設置程序的默認編碼:windows
而後再將響應的html內容存入文件中:瀏覽器
1. 自定義測試html服務器
2. 從html文本中獲取soup網絡
3. soup.select()函數用法架構
(1) 獲取指定標籤的內容app
(2) 獲取指定id的標籤的內容(用'#')
(3) 獲取指定class的標籤的內容(用'.')
(4) 獲取a標籤的連接(href屬性值)
(5) 獲取一個標籤下的全部子標籤的text
(6) 獲取不存在的標籤
(7) 獲取自定義屬性值
4. soup.find()和soup.find_all()函數用法
(1) find()和find_all()函數原型:
find和find_all函數均可根據多個條件從html文本中查找標籤對象,只不過find的返回對象類型爲bs4.element.Tag,爲查找到的第一個知足條件的Tag;而find_all的返回對象爲bs4.element.ResultSet(實際上就是Tag列表),這裏主要介紹find函數,find_all函數相似。
(2) find函數的用法示例
1. 代理訪問
有時候爲了不封IP,或者在某些公司內網訪問外網時候,須要用到代理服務器發送請求,代理的用法示例:
2. 向https的url發送請求
有時候向https的url發送請求會報錯:ImportError:no module named certifi.
解決方法:在發送請求時關閉校驗:verify = False,如:
3. httpbin.org
httpbin.org是requests庫的做者開發的一個網站,能夠專門用來測試requests庫的各類功能,其頁面以下:
但httpbin.org的服務器在國外,訪問速度比較慢。因此須要在本地搭建一個該網站的鏡像,方法以下:
前提:安裝好requests庫,才能基於該網站測試requests庫的功能。
瀏覽器輸入:127.0.0.1:8000,便可訪問。
注:以上步驟在windows下會報錯:缺乏模塊pwd.fcanl,在linux下沒問題。
4. requests庫官方文檔
http://docs.python-requests.org/en/master/
原文連接:
https://www.cnblogs.com/jiayongji/p/7118939.html
-END-