1. 程式人生 > >關於網路爬蟲的資料整合

關於網路爬蟲的資料整合

關於通用爬蟲的介紹

前言:
我們生活在一個充滿資料的時代。
每天,來自商業、社會以及我們的日常生活所產生「影象、音訊、視訊、文字、定位資訊」等各種各樣的海量資料,注入到我們的全球資訊網(WWW)、計算機和各種資料儲存裝置,其中全球資訊網則是最大的資訊載體。
資料的爆炸式增長、規模龐大和廣泛可用的資料,使得我們真正進入到了“大資料(Big Data)時代”。我們急需功能強大的資料處理技術(Data Technology),從這些海量資料中發現有價值的資訊。
網路爬蟲(Web Crawler)技術,則成為了當下全球資訊網資料(Web Data)收集中,最為高效靈活的解決方案。
什麼是網路爬蟲?
網路爬蟲

獲取資料方式主要有哪些?

1:企業產生的資料:百度搜索指數騰訊公司業績資料阿里巴巴集團財務及運營資料新浪微博微指數等....

大型網際網路公司擁有海量使用者,有天然的資料積累優勢,還有一些有資料意識的中小型企業,也開始積累自己的資料。
2:資料平臺購買資料:資料堂國雲資料市場貴陽大資料交易所 等...

在各個資料交易平臺上購買各行各業各種型別的資料,根據資料資訊、獲取難易程度的不同,價格也會有所不同。
3:政府/機構公開的資料:中華人民共和國國家統計局資料中國人民銀行調查統計世界銀行公開資料聯合國資料納斯達克新浪財經美股實時行情 等...

通常都是各地征服統計上報,或者是行業內專業的網站、機構等提供。
4:資料管理諮詢公司:

麥肯錫埃森哲、尼爾森中國網際網路絡資訊中心艾瑞諮詢 等...

通常這樣的公司有很龐大的資料團隊,一般通過市場調研、問卷調查、固定的樣本檢測、與各行各業的其他公司合作、專家對話來獲取資料,並根據客戶需求制定商業解決方案。
5:爬蟲爬取網路資料:

如果資料市場上沒有需要的資料,或者價格太高不願意購買,那麼可以利用爬蟲技術,抓取網站上的資料。

通用爬蟲:
通用網路爬蟲 就是 捜索引擎抓取系統,目的是將網際網路上的所有的網頁下載到本地,形成一個網際網路內容的映象備份。

它決定著整個搜尋引擎內容的豐富性和時效性,因此它的效能優劣直接影響著搜尋引擎的效果。
通用搜索引擎(Search Engine)工作原理


第一步:抓取網頁
搜尋引擎網路爬蟲的基本工作流程如下:

  1. 首先選取一部分的初始URL,將這些URL放入 待抓取URL佇列 ;
  2. 取出待抓取URL,解析DNS得到主機的IP,並將URL對應的網頁下載下來,儲存進已下載網頁庫中,並且將這些URL放進 已抓取URL佇列 。
  3. 分析網頁中包含的其他URL,並且將URL放入 待抓取URL佇列,從而進入下一個迴圈....
    01_general

PS : 搜尋引擎如何獲取一個新網站的URL:

  1. 新網站向搜尋引擎主動提交網址:(如百度http://zhanzhang.baidu.com/linksubmit/url
  2. 在其他網站上設定新網站外鏈(儘可能處於搜尋引擎爬蟲爬取範圍)
  3. 搜尋引擎和DNS解析服務商(如DNSPod等)合作,新網站域名將被迅速抓取。

網站的Robots協議

搜尋引擎蜘蛛跟進URL抓取時,它需要遵從一些命令或檔案的內容,如標註為nofollow的連結,或者是網站的Robots協議。

Robots協議(也叫爬蟲協議、機器人協議等),全稱是“網路爬蟲排除標準”(Robots Exclusion Protocol),網站通過Robots協議告訴搜尋引擎哪些頁面可以抓取,哪些頁面不能抓取,例如:

淘寶網:https://www.taobao.com/robots.txt

騰訊網: http://www.qq.com/robots.txt

第二步:資料儲存

搜尋引擎爬蟲爬取到的網頁,將存入原始頁面資料庫,頁面和使用者瀏覽器得到的HTML是完全一樣的。

搜尋引擎爬蟲在抓取頁面時,也做一定的重複內容檢測,一旦遇到訪問權重很低的網站上有大量抄襲、採集或者複製的內容,很可能就不再爬行。
第三步:預處理

搜尋引擎將爬蟲抓取回來的頁面,進行各種步驟的預處理。

  • 提取文字
  • 中文分詞
  • 消除噪音(比如版權宣告文字、導航條、廣告等……)
  • 索引處理
  • 特殊檔案處理
    除了HTML檔案外,搜尋引擎通常還能抓取和索引以文字為基礎的多種檔案型別,如 PDF、Word、WPS、XLS、PPT、TXT 檔案等。我們在搜尋結果中也經常會看到這些檔案型別。

但搜尋引擎還不能處理圖片、視訊、Flash 這類非文字內容,也不能執行指令碼和程式。

第四步:提供檢索服務,網站排名

搜尋引擎在對資訊進行組織和處理後,為使用者提供關鍵字檢索服務,將使用者檢索相關的資訊展示給使用者。

同時會根據頁面的PageRank值(連結的訪問量排名)來進行網站排名,這樣Rank值高的網站在搜尋結果中會排名較前,當然也可以直接使用 Money 購買搜尋引擎網站排名,簡單粗暴。

完整流程圖:
01_engine
但是,這些通用性搜尋引擎也存在著一定的侷限性:

  1. 通用搜索引擎所返回的結果都是網頁,而大多情況下,網頁裡90%的內容對使用者來說都是無用的。
  2. 不同領域、不同背景的使用者往往具有不同的檢索目的和需求,搜尋引擎無法提供針對具體某個使用者的搜尋結果。
  3. 全球資訊網資料形式的豐富和網路技術的不斷髮展,圖片、資料庫、音訊、視訊多媒體等不同資料大量出現,通用搜索引擎對這些檔案無能為力,不能很好地發現和獲取。
  4. 通用搜索引擎大多提供基於關鍵字的檢索,難以支援根據語義資訊提出的查詢,無法準確理解使用者的具體需求。

本文最終解釋權歸本文作者所有,未經允許不得私自轉載