隨著網絡技術的發展,數據越來越變的值錢,諸多公司都在探究如何獲取更多更有用的數據。全球資訊網是大量信息的載體,如何有效提取這些有效且公開的數據並利用這些信息變成了一個巨大的挑戰。
從而爬蟲工程師、數據分析師、大數據工程師的崗位也越來越受歡迎。爬蟲則是 Python 的一個應用領域,Python 還有諸多應用領域,如 Web 全棧開發、圖形界面開發、大數據、人工智慧、系統網絡運維、雲計算系統管理……
學習好 Python 基礎對於學習 Python 爬蟲具有事半功倍的效果。就像生活中的學英語一樣,一個對英語一概不通的人聽完別人讀英語,自己也能讀出來,但是要把英語讀好,好好學習音標是非常有必要的。
然而 Python 的基礎知識如果要系統學習,內容也較多,那麼我們到底需要學習到什麼程度,對於學習 Python 爬蟲才是足夠的呢?這裡,我對學習爬蟲需要掌握的 Python 基礎知識進行了篩選,過濾掉了一些不必要的知識。為您提供了如下學習連結:
Python 目前流行版本兩個 Python 2.x 與 Python 3.x,由於 Python 2 只會維護到2020年,因此這裡建議使用 python 3 來作為我們的編程環境。
1.下載Python。
進入下載頁面(https://www.python.org/downloads/release/python-362/)下載 Python3.6.2 版本即可。
提示:根據你的電腦選擇,32位還是64位的安裝包。
安裝過程中只需要默認安裝即可。安裝完成後在 cmd 命令行輸入 python,然後回車,如果成功進入 python 並返回 python 的版本信息,則證明 Python 環境安裝成功(這裡我將 Python.exe 改為了 Python3.exe)。如下圖所示。
網絡爬蟲(又被稱為網頁蜘蛛,網絡機器人,在 FOAF 社區中間,更常被稱為網頁追逐者),是一種按照一定的規則,自動地抓取全球資訊網信息的程序或者腳本,從中獲取大量的信息。
爬蟲的作用主要有以下幾點:
市場分析:電商分析、商圈分析、一二級市場分析等;
市場監控:電商、新聞、房源監控、票房預測、股票分析等;
商機發現:招投標情報發現、客戶資料發掘、企業客戶發現等;
數據分析:對某個 App 的下載量跟蹤、用戶分析、評論分析,虛擬貨幣詳情分析……
在開始學習爬蟲知識之前,你需要了解一些網頁的基本知識:
網址的構成
網頁的基本構成
常見的加載模式
網頁的請求過程
谷歌瀏覽器之 HTTP 請求分析
1.網址的構成
網站的網址一般由協議+域名+加頁面構成,如 https://auction.jd.com/home.html,域名一般是固定的不會改變,能改變的則是頁面(home.html),所以在爬蟲的過程中我們所需要解析的就是自己編寫的不同頁面的URL,只有解析出各個不同頁面的 URL 入口,我們才能開始爬蟲(爬取網頁)。
2.網頁的基本構成
一般來說一個網頁的頁面主要有 HTML、CSS、JavaScript 構成,這裡我們可以打開任意一個網頁右擊查看網頁原始碼。
3.常見的加載模式
學習爬蟲有必要了解網頁常見的兩種加載模式(後續爬蟲過程中,經常需要用到)。
4.網頁的請求過程
打開瀏覽器,地址欄輸 baidu.com,按下回車,到用戶看到內容,主要經歷了如下步驟:
(1)開始進行域名解析。
首先瀏覽器自身搜 DNS 緩存,搜 baidu.com 有沒有緩存有沒有過期,如果過期就結束,其次瀏覽器會搜索作業系統自身的 DNS 緩存並讀取本地的 host 文件,瀏覽器發起一個 DNS 系統調用。
(2)瀏覽器獲得 baidu.com 域名對應的 IP 地址後,發起 HTTP 三次握手。
(3)建立 TCP/IP,瀏覽器就可以向伺服器發送 HTTP 請求。
TCP/IP 連結建立起來後,瀏覽器就可以向伺服器發送 HTTP 請求。伺服器接收到請求之後就會對請求做相應的處理,並將結果返回給瀏覽器。
(4)瀏覽器拿到資源之後對頁面進行加載、解析、渲染,最後呈現給用戶。
5.谷歌瀏覽器之 HTTP 請求分析
打開 Chrome 開發工具(這裡我們以打開百度網址為例),如下圖:
Elements(元素麵板):使用「元素」面板可以通過自由操縱 DOM 和 CSS 來重演您網站的布局和設計。
Console(控制臺面板):在開發期間,可以使用控制臺面板記錄診斷信息,或者使用它作為 shell,在頁面上與 JavaScript 交互。
Sources(原始碼面板):在原始碼面板中設置斷點來調試 JavaScript ,或者通過 Workspaces(工作區)連接本地文件來使用開發者工具的實時編輯器。
Network(網絡面板):從發起網頁頁面請求 Request 後得到的各個請求資源信息(包括狀態、資源類型、大小、所用時間等),並可以根據這個進行網絡性能優化。
作者說:
隨著網絡的迅速發展,全球資訊網成為大量信息的載體,如何有效地提取並利用這些信息成為一個巨大的挑戰。數據越來越值錢,爬蟲工程師也越來越受歡迎。
本文內容如下:
Python 基礎知識學習途徑
Python開發環境的搭建
什麼是爬蟲?
爬蟲的作用
豆瓣短評的數據爬取
適合人群:
零基礎 Python 讀者
具有 Python 基礎讀者
想學爬蟲的學者
掃碼閱讀全文: