爲何要學習爬蟲? 學習爬蟲,能夠私人訂製一個搜索引擎。 大數據時代,要進行數據分析,首先要有數據源。 對於不少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頁面