寫爬蟲, 首先需要了解爬蟲是什么?網絡爬蟲,是自動從網絡下載自己需要的網頁,進行處理並保存的工具.Python從零開始寫爬蟲將從零開始寫爬蟲,最終該爬蟲能夠從筆趣閣(http://www.biquger.com/)爬取小說.
竟然爬蟲是自動下載自己需要的網頁, 那么Python如何獲取網頁呢?Python通過發送http請求到網頁服務器,從而獲得網頁的源碼.python使用http請求主要有4種方式:
urllib
-
Requests
-
Octopus
-
HTTPie
其中Request是目前最受歡迎的的http請求庫. 本教程也將使用該庫來進行http請求. Reustests不是Python自帶的庫, 所以需要通過pip進行安裝, python 3 以及pip的安裝請自行百度安裝:
pip install requests
安裝成功后:
這個時候, 就可以在python中使用Requests了.
首先導入Requests庫
import requests
導入之后, 就可以使用其來發送http請求了.這里以獲取Python的Api文檔https://docs.python.org/zh-cn/3/library/index.html為例
r = requests.get('https://docs.python.org/zh-cn/3/library/index.html')
之后就可以輸入獲取到的網頁了.
print(r.text)
輸出之后,會發現出現許多亂碼.
做過網頁開發的人應該都知道這是應為編碼的問題,獲取Requests使用的網絡編碼:
print(r.encoding)
發現Requests使用的是ISO-8859-1編碼, 而通過查看網頁源碼發現,該網頁使用的是UTF-8編碼.這應該就是造成亂碼的原因,設置Request的編碼:
r.encoding='utf-8'
之后在輸出網頁, 發現亂碼消失了.
Python從零開始寫爬蟲第一步, 使用http請求后的網頁源碼就已經完成了.