Spider-聚焦爬蟲與通用爬蟲的區別
阿新 • • 發佈:2019-01-04
為什麼要學習爬蟲? 學習爬蟲,可以私人訂製一個搜尋引擎。 大資料時代,要進行資料分析,首先要有資料來源。 對於很多SEO從業者來說,從而可以更好地進行搜尋引擎優化。 什麼是網路爬蟲? 模擬客戶端傳送網路請求,接收請求對應的資料,按照一定的規則,自動抓取網際網路資訊的程式。 只要是客戶端(瀏覽器)能做的的事情,原則上,爬蟲都能做。意思就是,只要人類能夠訪問的網頁,爬蟲在具備銅等資源的情況下就一定可以抓取。 爬蟲的用途 主要用:途資料採集 其他用途:12306搶票、各種搶購、投票、刷票、簡訊轟炸、網路攻擊、Web漏洞掃描器 爬蟲資料的用途 1.金融 金融新聞/資料 制定投資策略,進行量化交易 2.旅遊 各類資訊 優化出行策略3.電商 商品資訊 比價系統 4.遊戲 遊戲論壇 調整遊戲運營 5.銀行 個人交易資訊 徵信系統/貸款評級 6.招聘 職位資訊 崗位資訊 7.輿情 各大論壇 社會群體感知,輿論導向 通用爬蟲 通用爬蟲:搜尋引擎用的爬蟲系統。搜尋引擎和web服務商提供的爬蟲。 目標: 就是儘可能的;把網際網路上的所有的網頁下載下來,放到本地伺服器裡形成備分,在對這些網頁做相關處理(提取關鍵字、去掉廣告),最後提供一個使用者檢索介面。 抓取流程: 首先選取一部分URL,把這些URL放到待爬取佇列。 從佇列取出URL,然後解析DNS得到主機IP,然後儲存這個IP對應的伺服器裡下載HTML頁面,儲存到搜尋引擎的本級伺服器,之後把這個爬過的url放入已爬過的佇列。 分析這些網頁內容,找出網頁裡其他的URL連結,繼續執行第二步,知道爬取結束 搜尋引擎如何獲取一個新網站的URL: a)主動向搜尋引擎提交網站 B)在其他網站裡設定外聯 C)索引擎會和DNS服務商服務商進行合作,可以快速收錄新的網站 DNS把域名解析成IP的一種技術。 通用爬蟲並不是萬物皆可爬取,他也要遵循規則: Robots協議:協議會指明通用爬蟲可以爬取網頁的許可權(告訴搜尋引擎那些可以抓取,那些不可以抓取) Robots.txt 並不是所有的爬蟲都遵守,一般只有大型的搜尋引擎爬蟲才會遵守 存在位置:robots.txt檔案應該放置在網站根目錄下 例如:https://www.taobao.com/robots.txt 通用爬蟲工作流程: 爬取網頁 儲存資料 內容處理 提供檢索/排名服務 搜尋引擎排名: 1.PageRank值:根據網站的流量(點選量/瀏覽量/人氣)統計,流量越高,網站排名越靠前。 2.競價排名:誰給的錢多,誰排名就高。 通用爬蟲的缺點: 1.只能提供和文字相關的內容(HTML、Word、PDF)等等,但是不能提供多媒體檔案(音樂、圖片、視訊)和二進位制檔案(程式、指令碼) 2.提供的結果千篇一律,不等針對不同背景領域的人提供不同的搜尋結果 3.不能提供人類語義上的檢索 通用搜索引擎的侷限性 1.通用搜索引擎所返回的網頁裡90%的內容無用。2.中文搜尋引擎自然語言檢索理解困難 3.資訊佔有量和覆蓋率存在侷限。 4.搜尋引擎最主要的還是以關鍵字搜尋為主,對於圖片、資料庫、音訊、視訊多媒體的內容通用搜索引擎無能為力。 5.搜尋引擎的社群化和個性化不好,大多數搜尋引擎沒有考慮人的地域,性別,年齡的差別 6.搜尋引擎抓取動態網頁效果不好 解決通用爬蟲的缺點,聚焦爬蟲出現了。 聚焦爬蟲 聚焦爬蟲:爬蟲程式設計師寫的針對某種內容爬蟲。 面向主題爬蟲、面向需求爬蟲:會針對某種特定的能容去爬取資訊,而且保證內容需求儘可能相關。 1.積累式爬蟲:從開始到結束,不斷爬取,過程中會進行重複操作。 2.增量式爬蟲:已下載網頁採取增量式更新和只爬取新產生的或者已經發生變化網頁爬蟲 3.Deep web爬蟲:不能通過靜態連結獲取的、隱藏在搜尋表單後的,只有使用者提交一些關鍵詞才能獲得的web頁面