當前位置:
首頁 > 最新 > 用python學習網路數據信息採集

用python學習網路數據信息採集

Programmer_Designer

作者|藤子

互聯網提供給我們紛繁多彩的信息世界,我們從中獲取大量的信息資源——文字,數字,圖形,聲音以及畫面——他就像一個日益膨脹的小宇宙,每天都有人上傳資源到網路上,即使不是主動,每天也會有很多被動的信息產生於各大互聯網公司的伺服器中。

我們已經習慣在互聯網上看新聞,找學習資料,看動畫片。當然收集信息也是如此,互聯網提供了一個無所不有的信息寶庫。對於數據分析人員來說,學會利用互聯網高效的採集數據方法尤為重要。

利用計算機編程語言免費獲取互聯網信息資源的方法,我們簡稱網路爬蟲。

Ⅰ 我們的瀏覽器如何工作

在學習網路爬蟲之前,我們先來了解下網頁鏈接的工作原理,我盡量使用最簡單的語言向大家說明,即使你沒有學習過網路原理,有興趣的同學可以參見謝希仁版《計算機網路原理》教材。強烈推薦韓立剛老師的網路視頻教程。

當你打開瀏覽器,在瀏覽器窗口輸入百度網頁(www.baidu.com),你的電腦發送一串1和0比特值,表示電路上的高低電壓。這些比特構成了一種信息,包括請求頭和消息體。請求頭包含當前你電腦的本地路由器MAC地址和百度伺服器的IP地址。消息體包含你對百度伺服器網頁的請求。

你的本地路由器收到所有1和0比特值,把它們理解成一個數據包(packet),從你自己的MAC 地址「寄到」百度的IP地址。本地路由器把數據包「蓋上」自己的IP地址作為「發件」地址,然後通過互聯網發出去。

你的數據包遊歷了一些中介伺服器,沿著正確的物理/電路路徑前進,到了百度的伺服器。

百度的伺服器在他所在的IP地址收到了數據包。

百度的伺服器讀取數據包請求頭裡的目標埠(通常是網路應用的 80 埠,該埠一般提供瀏覽器服務),然後把它傳遞到對應的應用——網路伺服器應用上。

網路伺服器應用從伺服器處理器收到一串數據,數據是這樣的:

●這是一個GET請求

●請求文件 「https://www.baidu.com/」

網路伺服器應用找到對應的HTML文件,把它打包成一個新的數據包發送給你,然後通過它的本地路由器發出去,用同樣的過程回傳到你的機器上。

Ⅱ 為何使用python從網頁中獲取信息

當然,你可以不使用任何編程語言,僅用瀏覽器就可以解決獲取信息的問題,但是當你需要大量數據做數據分析的時候,僅使用瀏覽器是不夠的。使用計算機語言,可以快速的從網頁的伺服器中獲取大量的你需要的信息,而過濾掉你不需要的信息。

快速高效是我們使用計算機語言實現爬蟲的原因,當然C/C++,Java,C#,Go等大多數語言都可以講出精彩的故事,為何偏偏使用python?就是因為簡單。他實際上並需要你掌握過多的編程技巧。

python的強大之處在於提供給用戶已經編寫好的程序庫文件,用戶只需要知道如何調用其中的函數及其方法就可以輕鬆使用各種爬蟲工具,而不需要知道庫文件中的方法是如何實現的。

Ⅲ python有關爬蟲的庫文件

urllib標準庫

urllib是Python的標準庫,包含了從網路請求數據,處理cookie,甚至改變像請求頭和用戶代理這些元數據的函數。我們將在講解中廣泛使用urllib,所以建議你讀讀這個庫的Python 文檔。urllib中包含四個子模塊:

xml標準庫

python的標準庫中,提供了6種可以用於處理XML的包。

因為並不是所有庫我都了解,相關比較優劣以後再整理給大家,這裡不過多做介紹。

beautifulsoup第三方庫

最近在看《Python網路數據採集》,裡面的爬蟲代碼基本上都是使用這個庫實現的,在後面的學習過程中,我也會將我的讀書筆記整理給大家。

requests第三方庫

Requests是用Python語言編寫,基於urllib,採用Apache2 Licensed開源協議的HTTP 庫。它比urllib更加方便,可以節約我們大量的工作,完全滿足 HTTP 測試需求。簡單理解urllib標準庫可以實現的功能requests都可以實現,requests比urllib更強大。

selenium第三方庫

以上是我知道並使用過的一些庫,實際上python跟爬蟲相關的還庫有很多,而且很多爬蟲框架的知識還涉及其他的一些東西。互聯網也提供了相當多的網路資源,博客中很多人免費分享自己的學習經驗。有興趣的同學可以自己上網學習。

參考文獻

Web Scraping with Python by Ryan Mitchell (O』Reilly).

Copyright 2015 Ryan Mitchell.


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!

TAG: |