Python抓取網頁的靜態數據。
這個很簡單,直接根據網址請求頁面即可。這裏以抓取糗事百科上的內容為例:
1.假設我們要抓取的文本如下,主要包括昵稱、內容、段子數、評論數四個字段:
打開網頁源代碼,對應的網頁結構如下。非常簡單,所有字段的內容都可以直接找到:
2.針對以上網頁結構,我們可以編寫相關代碼來抓取網頁數據。這很簡單。首先,根據url地址請求頁面,然後使用BeautifulSoup解析數據(根據標簽和屬性),如下所示:
程序運行截圖如下,數據已經爬取成功:
Python抓取網頁的動態數據。
很多情況下,網頁的數據是動態加載的,我們無法通過直接抓取網頁來提取任何數據。這時候我們就需要抓取包分析找到動態加載的數據,通常是json文件(當然也可能是其他類型的文件,比如xml等。),然後請求解析這個json文件,這樣我們就可以得到我們需要的數據。這裏以抓取人人貸上的零散數據為例:
1.假設我們在這裏爬取的數據如下,主要包括年利率、貸款標題、期限、金額、進度五個字段:
2.按F12調出開發者工具,依次點擊“網絡”->“XHR”,F5刷新頁面,可以找到動態加載的json文件。詳情如下:
3.然後根據上面的分析,我們可以編寫相關的代碼來抓取數據。基本思路和上面的靜態網頁差不多。首先,使用請求請求json,然後使用python附帶的json包解析數據,如下所示:
程序運行截圖如下,數據已成功獲取:
至此,我們已經完成了使用python抓取web數據。總的來說,整個過程很簡單。對於初學者來說,requests和BeautifulSoup非常容易學習和掌握。妳可以學習使用它們。等妳以後熟悉了之後,就可以學習scrapy爬蟲框架了,可以明顯提高開發效率。這很好。當然,如果網頁中有加密和驗證碼,就需要自己琢磨和研究對策了。網上也有相關教程和資料。如果妳感興趣,