1.4爬蟲工程師常用的庫通過圖1-3我們了解到,爬蟲程序的完整鏈條包括整理需求、分析目標、發出網絡請求、文本解析、數據入庫和數據出庫。其中與代碼緊密相關的有:發出網絡請求、文本解析、數據入庫和數據出庫,接下來我們將學習不同階段中爬蟲工程師常用的庫。我們沒有必要學習具備相同功能的各種各樣的庫,只需要選擇其中使用者較多或比較稱手的即可。例如,網頁文本解析庫有BeautifulSoup、 Parsel 和HTMLParser,但我們只需要學習Parsel就夠了,這就像學習如何駕駛汽車時你不需要學習同類型車輛的駕駛方法一樣。
1.4.1 網絡請求庫
網絡請求是爬蟲程序的開始,也是爬蟲程序的重要組成部分之一-。 在代碼片段1-1中,我們使用的是Python 內置的urlib模塊中request對象里的urlopen0方法。其實代碼片段1-1中的代碼已經非常簡潔了,但持有“人生苦短”觀念的Pyhon工程師認為我們需要用更簡單且編碼速度更快的方法,所以他們創造了Requets 庫和Aiohtp庫,知名的爬蟲框架Scrapy也是這么誕生的。