當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > Python 網(wǎng)絡(luò)爬蟲
當(dāng)我們想買一款手機(jī),當(dāng)我們想知道其他人對一款產(chǎn)品的評價,當(dāng)我們有各種各樣疑問的時候,我們總是要打開百度,Google等搜索引擎,搜索相關(guān)問題。而不是在自己電腦里,或者到書架上翻書查找。這是因為大量的數(shù)據(jù)來源于互聯(lián)網(wǎng),而百度和Google就是一個從互聯(lián)網(wǎng)上抓取數(shù)據(jù)的大爬蟲。
當(dāng)我們在瀏覽器里輸入網(wǎng)址發(fā)出請求后,瀏覽器會向web服務(wù)器發(fā)出http請求,而web服務(wù)器回應(yīng)的就是我們請求的html網(wǎng)頁,瀏覽器再解析html網(wǎng)頁,顯示其中的文本和圖片等信息。
所謂的網(wǎng)絡(luò)爬蟲就類似于這個過程,它模擬的就是瀏覽器請求網(wǎng)頁的過程。這里我們使用urllib可以實(shí)現(xiàn)該功能。要注意urllib在python2中有兩個版本,urllib和urllib2,在python3中它們已經(jīng)被整合到一起,叫urllib。
以下代碼獲取糗事百科的網(wǎng)頁:
此代碼獲取的是全部html網(wǎng)頁,瀏覽器可以解析顯示有意義的信息。我們就需要進(jìn)步處理,提取信息。
我們發(fā)現(xiàn)html網(wǎng)頁中的段子總是包含在這樣的html代碼中:
我們可以使用正則表達(dá)式獲取其中的數(shù)據(jù),添加代碼如下:
再一次輸出已經(jīng)是我們想要獲取的部分: