很多讀者看到爬蟲是不是第一反應就想到了某些蛛形綱的節(jié)肢動物?其實在互聯網上爬蟲還有另一種解釋——網頁機器人。今天我們就來介紹一下這些網頁機器人的分類——互聯網爬蟲分類和一些python爬蟲基礎知識吧。
一、通用爬蟲
通用網絡爬蟲是搜索引擎抓取系統(Baidu、Google、Sogou等)的一個重要組成部分。主要目的是將互聯網上的網頁下載到本地,形成一個互聯網內容的鏡像備份。為搜索引擎提供搜索支持。
第一步
搜索引擎去成千上萬個網站抓取數據。
第二步
搜索引擎通過爬蟲爬取到的網頁,將數據存入原始頁面數據庫(也就是文檔庫)。其中的頁面數據與用戶瀏覽器得到的HTML是完全—樣的。
第三步
搜索引擎將爬蟲抓取回來的頁面,進行各種步驟的預處理:中文分詞,消除噪音,索引處理······
搜索引擎在對信息進行組織和處理后,為用戶提供關鍵字檢索服務,將用戶檢索相關的信息展示給用戶。展示的時候會進行排名。
二、搜索引擎的局限性
- 搜索引擎抓取的是整個網頁,不是具體詳細的信息。
- 搜索引擎無法提供針對具體某個客戶需求的搜索結果。
聚焦爬蟲
針對通用爬蟲的這些情況,聚焦爬蟲技術得以廣泛使用。聚焦爬蟲,是"面向特定主題需求"的一種網絡爬蟲程序,它與通用搜索引擎爬蟲的區(qū)別在于:聚焦爬蟲在實施網頁抓取時會對內容進行處理篩選,盡量保證只抓取與需求相關的網頁數據。
三、Robots協議
robots是網站跟爬蟲間的協議,用簡單直接的txt格式文本方式告訴對應的爬蟲被允許的權限,也就是說robots.txt是搜索引擎中訪問網站的時候要查看的第一個文件。當一個搜索蜘蛛訪問一個站點時,它會首先檢查該站點根目錄下是否存在robots.txt,如果存在,搜索機器人就會按照該文件中的內容來確定訪問的范圍;如果該文件不存在,所有的搜索蜘蛛將能夠訪問網站上所有沒有被口令保護的頁面?!俣劝倏?/p>
Robots協議也叫爬蟲協議、機器人協議等,全稱是“網絡爬蟲排除標準”(Robots ExclusionProtocol),網站通過Robots協議告訴搜索引擎哪些頁面可以抓取,哪些頁面不能抓取,例如:
四、請求與響應
網絡通信由兩部分組成:客戶端請求消息與服務器響應消息
瀏覽器發(fā)送HTTP請求的過程:
1.當我們在瀏覽器輸入URL https://www.baidu.com的時候,瀏覽器發(fā)送一個Request請求去獲取 https://www.baidu.com 的html文件,服務器把Response文件對象發(fā)送回給瀏覽器。
2.瀏覽器分析Response中的HTML,發(fā)現其中引用了很多其他文件,比如Images文件,CSS文件,JS文件。瀏覽器會自動再次發(fā)送Request去獲取圖片,CSS文件,或者JS文件。
3.當所有的文件都下載成功后,網頁會根據HTML語法結構,完整的顯示出來了。
實際上我們通過學習爬蟲技術爬取數據,也是向服務器請求數據,獲取服務器響應數據的過程。
小結
到此這篇python爬蟲基礎知識的文章就介紹到這了。
學習python爬蟲可以了解一下我們最近上線的爬蟲新課:Python爬蟲從入門到實戰(zhàn)_
來自百度的資深大數據工程師,各位小伙伴懂得都懂,趁現在新課打折,快快上車吧!