抓取網站靜態數據(數據在網頁源代碼中):以百科網站的數據為例
1.假設我們抓取的數據如下,主要包括用戶的昵稱、內容、笑話數和評論數,如下:
相應的網頁源代碼如下,包括我們需要的數據:
2.對應網頁結構,主要代碼如下,非常簡單。主要使用requests+BeautifulSoup,其中requests用於請求頁面,BeautifulSoup用於解析頁面:
程序運行截圖如下,數據已經爬取成功:
抓取網站動態數據(數據不在網頁源代碼、json等文件中):以人人貸網站數據為例。
1.假設我們在抓取債券數據,主要包括年利率、貸款標題、期限、金額、進度五個字段。截圖如下:
當妳打開網頁源代碼時,妳會發現這些數據並不在網頁源代碼中。當您按F12進行數據包分析時,會在json文件中找到它,如下所示:
2.獲得json文件的url後,我們就可以抓取相應的數據了。這裏使用的包與上面的類似。因為是json文件,所以我們也使用json包(解析json)。主要內容如下:
程序運行截圖如下,數據已成功抓取:
至此,本文介紹了這兩類數據的捕獲,包括靜態數據和動態數據。總的來說,這兩個例子並不難。都是入門級的爬蟲,網頁結構比較簡單。最重要的是分析和提取頁面。以後熟悉了之後,可以借助scrapy抓取數據,更加方便高效。當然,如果抓取的頁面比較復雜,比如驗證碼、加密,這時候就需要仔細分析了,網上也有壹些教程。