Python爬蟲筆記(一):爬蟲基本入門

來源:互聯網
上載者:User

標籤:配置   lan   請求   圖片   有一個   下載   是什麼   pid   分析   

最近在做一個項目,這個項目需要使用網路爬蟲從特定網站上爬取資料,於是乎,我打算寫一個爬蟲系列的文章,與大家分享如何編寫一個爬蟲。這是這個項目的第一篇文章,這次就簡單介紹一下Python爬蟲,後面根據項目進展會持續更新。

 

一、何謂網路爬蟲

 

網路爬蟲的概念其實不難理解,大家可以將互連網理解為一張巨大無比的網(漁網吧),而網路爬蟲就像一隻蜘蛛(爬蟲的英文叫spider,蜘蛛的意思,個人認為翻譯為網路蜘蛛是不是更形象呢哈哈),而這隻蜘蛛便在這張網上爬來爬去,如果它遇到資源,那麼它就會抓取下來。至於想抓取什麼資源?這個由你自己來進行定義了,你想抓取什麼就抓取什麼,你具有絕對主宰能力,理論上講你可以通過網路爬蟲從互連網上擷取任何你想要並且存在與互連網上的資訊。

 

二、瀏覽網頁的過程

為了理解爬蟲,我們應該瞭解瀏覽網頁的過程,其實說白了,爬蟲其實就是利用電腦類比人類瀏覽網頁。那麼瀏覽網頁的過程是什麼呢?

 

在使用者瀏覽網頁的過程中,我們可能會看到許多好看的圖片,比如 http://image.baidu.com/ ,我們會看到幾張的圖片以及百度搜尋方塊,這個過程其實就是使用者輸入網址之後,經過DNS伺服器,找到伺服器主機,向伺服器發出一個請求,伺服器經過解析之後,發送給使用者的瀏覽器 HTML、JS、CSS 等檔案,瀏覽器解析出來,使用者便可以看到形形色色的圖片了。

 

因此,使用者看到的網頁實質是由 HTML 程式碼構成的,爬蟲爬來的便是這些內容,通過分析和過濾這些 HTML 程式碼,實現對圖片、文字等資源的擷取。

 

三、URL的含義

 

URL,即統一資源定位器,也就是我們說的網址,統一資源定位器是對可以從互連網上得到的資源的位置和存取方法的一種簡潔的表示,是互連網上標準資源的地址。互連網上的每個檔案都有一個唯一的URL,它包含的資訊指出檔案的位置以及瀏覽器應該怎麼處理它。

 

URL的格式由三部分組成:
    ①第一部分是協議(或稱為服務方式)。
    ②第二部分是存有該資源的主機IP地址(有時也包括連接埠號碼)。
    ③第三部分是主機資源的具體地址,如目錄和檔案名稱等。

 

爬蟲爬取資料時必須要有一個目標的URL才可以擷取資料,因此,它是爬蟲擷取資料的基本依據,準確理解它的含義對爬蟲學習有很大協助。

 

四、環境的配置

 

理論上你可以採用任何一種語言編寫網路爬蟲,不過這裡我給大家分享的是利用Python編寫爬蟲。因為Python的靈活、美麗以及對網路編程的強大支援,使之成為網路爬蟲程式設計語言的首選。安裝Python很簡單,這裡就不再贅述,從官網下載一個安裝包自己安裝就OK了、編輯器就用它內建的IDLE吧,安裝完之後,右鍵數遍就會出現IDLE。

五、爬蟲初體驗

 

說了這麼多,先來感受下一個爬蟲吧,這裡我們直接抓取一個網頁例如:http://www.cnblogs.com/ECJTUACM-873284962/

這個網頁是我的官方部落格,我們要將其內容抓取下來,其實只需要兩句代碼就能完成,需要使用urllib2庫,代碼如下:

然後列印結果如下:

可以看到,將我部落格首頁的網頁內容全部抓取下來了,你可以點選連結訪問我的部落格,看是否與其內容一致。

其實爬蟲就是這麼簡單,只要明白其中的原理,一切都不是問題。今天只是初步體驗爬蟲,後續會不斷進階,分享更多爬蟲知識。

Python爬蟲筆記(一):爬蟲基本入門

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.