一、爬蟲介紹
阿新 • • 發佈:2018-12-02
一、網路爬蟲
爬蟲又叫網路爬蟲,網路蜘蛛,一種執行在網際網路上用來獲取資料的的自動程式。
1、內部資料
業務資料
,公司使用BI
(Business Intelligence
)、CRM
系統、ERP
系統、郵件系統等產生的資料;
財務資料
,其中包括公司的支出、採購、收入等多項與公司日常運作有關的資料;
使用者資料
,無論是網站、APP
還是遊戲,使用者註冊都會填寫郵箱、電話、身份證號碼等資料,這些資料其實非常有價值,此外還要加上使用者使用公司產品留下的行為資料。
歷史資料
,公司沉澱下來的其他各種資料。
2、外部資料
社交網站資料
,包括微信、微博、人人網、 Twitter
、Facebook
、LinkedIn
等社交媒體上的資料。
說明:社交資料部分是可以爬取的,另外一部分是需要運營方授權的。
線下采集資料
,包括Wifi
熱點資料、地圖資料等。
說明:這一塊目前做的公司比較少,但同時也比較有價值。
政府開放資料,包括企業徵信資料、企業註冊資料、法院公示資料、公共交通資料等。
說明:如果你想要找的話,可到對應政府網站下載。
智慧裝置資料
,包括智慧裝置、感測器資料。
說明:你知道嗎?一部智慧手機,至少擁有8
個感測裝置。
網路爬蟲資料
,包括網際網路上所有可以爬回的資料,文字、視訊、圖片其實也是資料,而且是非結構化資料。
企業交易資料
,包括商家流水資料、支付寶交易資料、信用卡消費資料等等。
說明:目前這一部分資料是最難獲取的,因為資料就是寶貴的資產。
企業開放資料
,比如微博開放了商業資料API
,騰訊開放了騰訊雲分析SDK
上報的應用資料,高德地圖開放了LBS
資料等等。
說明:如果想找更多的資料API
,我推薦你去資料堂、聚合資料這兩家網站上看一下,上面有大量的API
介面。
其它資料
,比如天氣資料、交通資料、人口流動資料、位置資料等等。
在網際網路公司,不管內部資料還是外部資料,其實都是為了獲取使用者相關的資料。
拿到使用者的行為資料之後,會分析使用者。
比如說電商類網站就是為推薦商品,搜尋類的網站為了精準營銷(
傢俱類)
廣告聯盟。
三、大資料與網路爬蟲
大資料就是整合完公司內部外部資料,進行大資料儲存,然後通過清洗,標註、去重、去噪、關聯等過程可以將資料進行結構化,也可以進行大資料探勘和資料分析,再以資料視覺化呈現結果,打通資料孤島形成資料閉環,將資料轉換成“石油”和“生產資料”,最後應用到我們日常的生活、學習和工作中去。
四、爬蟲與搜尋系統
搜尋系統可以簡單的分為兩類,
通用搜索,站內搜尋
。
通用搜索:像百度,谷歌會爬取網際網路上所有的資料
站內搜尋:只需要業務系統的資料。
垂直搜尋:行業資料和自己的資料。
總結:搜尋一定會包含爬蟲(除站內搜尋外),爬蟲爬取的資料不一定是為搜尋服務。除了搜尋功能以外,爬蟲爬取的資料主要用來做資料分析。
五、爬蟲的分類
網路爬蟲按照系統結構和實現技術,大致可以分為以下幾種型別:
- 網際網路的資料,有很多,一般都是根據業務需求來的。
- 網頁(文字、圖片、視訊)
- 商品資料
- 怎麼獲取資料?
- HTTP協議
- 人的操是通過瀏覽器的,程式是利用網路請求的相關協議獲取資料。
- 自動化,儘可能減少人工的干預。
- 爬蟲開發的技術,沒有限制的。
- 通用網路爬蟲(General Purpose Web Crawler)
- 聚焦網路爬蟲(Focused Web Crawler)
- 增量式網路爬蟲(Incremental Web Crawler)
- 深層網路爬蟲(Deep Web Crawler)
- 指定一個種子url放入到佇列中
- 從佇列中獲取某個URL
- 使用HTTP協議發起網路請求
- 在發起網路請求的過程中,需要將域名轉化成IP地址,也就是域名解析
- 得到伺服器的響應,此時是二進位制的輸入流
- 將二進位制的輸入流轉換成HTML文件,並解析內容(我們要抓取的內容,比如標題)。
- 將解除出來的內容保持到資料庫
- 記錄當前URL,並標記為已爬取,避免下次重複爬取。
- 從當前的HTML文件中,解析出頁面中包含的其它URL,以供下次爬取
- 判斷解析出來的URL是否已經爬取過了,如果已經爬取就丟棄掉
- 將還沒爬取過的URL,存放到等待爬取的URL佇列中。
- 重複以上的步驟,指導等待爬取的URL佇列中沒有資料