靜態網頁數據
這裏的數據是嵌套在網頁源代碼中的,所以可以直接請求網頁源代碼進行解析。下面我簡單介紹壹下。這裏以爬取糗事百科上的數據為例:
1.首先打開原網頁,如下圖。假設這裏要爬取的字段包括昵稱、內容、段子數、評論數:
然後看網頁的源代碼,如下,可以看到,所有的數據都嵌套在網頁中:
2.然後針對上面的網頁結構,我們可以直接編寫爬蟲代碼,解析網頁,提取我們需要的數據。測試代碼如下,非常簡單,主要使用requests+BeautifulSoup的組合,其中requests用於獲取網頁源代碼,BeautifulSoup用於解析網頁並提取數據:
點擊運行這個程序,效果如下,我們需要的數據已經爬取成功:
動態網頁數據
這裏的數據都不在網頁的源代碼中(所以直接請求網頁是得不到任何數據的),大多數情況下都是存儲在json文件中。只有當網頁更新時,數據才會被加載。我簡單介紹壹下這個方法。這裏以抓取人人貸上的數據為例:
1.首先打開原網頁,如下圖。假設這裏要爬取的數據包括年利率、貸款標題、期限、金額、進度:
然後按F12調出開發者工具,依次點擊“網絡”->“XHR”,F5刷新頁面,可以找到動態加載的json文件,如下,這是我們需要抓取的數據:
2.然後根據這個json文件寫相應的代碼來分析我們需要的字段信息。測試代碼如下,也很簡單,主要使用requests和json的組合,其中Requests用於requests+json文件,json用於分析json文件提取數據:
點擊運行這個程序,效果如下,我們需要的數據已經爬取成功:
至此,我們已經完成了使用python網絡爬蟲獲取網站數據。總的來說,整個過程很簡單。python內置了很多網絡爬蟲包和框架(scrapy等。),可以快速獲取網站數據。非常適合初學者學習掌握。只要妳有壹定的爬蟲基礎,熟悉以上流程和代碼,就能很快掌握。當然也可以用現成的爬蟲軟件,比如章魚、後羿,網上也有相關教程和資料。