當前位置:名人名言大全網 - 經典說說 - Python爬蟲怎麽寫?

Python爬蟲怎麽寫?

Python爬蟲庫其實有很多,比如常見的URL、requests、bs4、lxml等。如果是初學者,可以學習兩個庫,分別是requests和bs4(BeautifulSoup),相對簡單易學。requests用於請求頁面,BeautifulSoup用於解析頁面。這裏我就以這兩個庫為基礎。簡單介紹壹下Python是如何抓取網頁靜態數據和動態數據的。實驗環境是Win 10+Python 3.6+py charm 5.0。主要內容如下:

Python抓取網頁的靜態數據。

這個很簡單,直接根據網址請求頁面即可。這裏以抓取糗事百科上的內容為例:

1.假設我們要抓取的文本如下,主要包括昵稱、內容、段子數、評論數四個字段:

打開網頁源代碼,對應的網頁結構如下。非常簡單,所有字段的內容都可以直接找到:

2.針對以上網頁結構,我們可以編寫相關代碼來抓取網頁數據。這很簡單。首先,根據url地址請求頁面,然後使用BeautifulSoup解析數據(根據標簽和屬性),如下所示:

程序運行截圖如下,數據已經爬取成功:

Python抓取網頁的動態數據。

很多情況下,網頁的數據是動態加載的,我們無法通過直接抓取網頁來提取任何數據。這時候我們就需要抓取包分析找到動態加載的數據,通常是json文件(當然也可能是其他類型的文件,比如xml等。),然後請求解析這個json文件,這樣我們就可以得到我們需要的數據。這裏以抓取人人貸上的零散數據為例:

1.假設我們在這裏爬取的數據如下,主要包括年利率、貸款標題、期限、金額、進度五個字段:

2.按F12調出開發者工具,依次點擊“網絡”->“XHR”,F5刷新頁面,可以找到動態加載的json文件。詳情如下:

3.然後根據上面的分析,我們可以編寫相關的代碼來抓取數據。基本思路和上面的靜態網頁差不多。首先,使用請求請求json,然後使用python附帶的json包解析數據,如下所示:

程序運行截圖如下,數據已成功獲取:

至此,我們已經完成了使用python抓取web數據。總的來說,整個過程很簡單。對於初學者來說,requests和BeautifulSoup非常容易學習和掌握。妳可以學習使用它們。等妳以後熟悉了之後,就可以學習scrapy爬蟲框架了,可以明顯提高開發效率。這很好。當然,如果網頁中有加密和驗證碼,就需要自己琢磨和研究對策了。網上也有相關教程和資料。如果妳感興趣,