python爬蟲(一)_爬蟲原理和數據抓取

本篇將開始介紹Python原理砾嫉,更多內容請參考:Python學習指南

為什么要做爬蟲

著名的革命家、思想家窒篱、政治家焕刮、戰(zhàn)略家、社會改革的主要領導人物馬云曾經在2015年提到由IT轉到DT墙杯,何謂DT配并,DT即數據技術,由數據在推倒人們的衣食住行高镐,當今時代是一個大數據時代溉旋,數據從何而來?

爬蟲是什么?

百度百科:網絡爬蟲

關于Python爬蟲硫狞,我們需要學習的有:

  1. Python基礎語法學習(基礎知識)
  2. HTML頁面的內容抓取(數據抓取)
  3. HTML頁面的數據提取(數據清洗)
  4. Scrapy框架以及scrapy-redis分布式策略(第三方框架)
  5. 爬蟲(Spider)信轿、反爬蟲(Anti-Spider)、反反爬蟲(Anti-Anti-Spider)之間的斗爭残吩。财忽。。泣侮。

通用爬蟲和聚焦爬蟲

網絡爬蟲可分為通用爬蟲聚焦爬蟲兩種即彪。

通用搜索引擎(Search Enging)工作原理

通用網絡爬蟲 從互聯網中搜集網頁,采集信息活尊,這些網頁信息用于為搜索引擎建立索引從而提供支持隶校,它決定著整個引擎系統(tǒng)的內容是否豐富漏益,信息是否及時,因此其性能的優(yōu)劣直接影響著搜索引擎的效果深胳。

第一步:抓取網頁

搜索引擎網絡爬蟲的基本工作流程如下:

  1. 首先選取一部分的種子URL绰疤,將這些URL放入待抓取URL隊列;
  2. 取出待抓取URL舞终,解析DNS得到主機的IP轻庆,并將URL對應的網頁下載下來,存儲進已下載網頁庫中敛劝,并且將這些URL放進已抓取URL隊列余爆。
  3. 分析已抓取URL隊列中的URL,分析其中的其它URL攘蔽,并且將URL放入待抓取URL隊列龙屉,從而進入下一個循環(huán)。满俗。转捕。


    通用爬蟲流程

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

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

但是搜索引擎蜘蛛的爬行是被輸入了一定的規(guī)則的唆垃,它需要遵從一些命令或文件的內容五芝,如標注為nofollow的鏈接,或者是Robots協議辕万。

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

  1. 淘寶網:https://www.taobao.com/robots.txt
  2. 騰訊網:http://www.qq.com/robots.txt

第二步:數據存儲

搜索引擎通過爬蟲爬取到網頁砖茸,將數據存入原始頁面數據庫隘擎。其中的頁面數據與用戶瀏覽器得到的HTML是完全一樣的。

搜索引擎蜘蛛在抓取頁面時凉夯,也做一定的重復內容檢測货葬,一旦遇到訪問權重很低的網站上有大量抄襲、采集或者復制的內容劲够,很可能就不再爬行震桶。

第三步:預處理

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

  • 提取文字
  • 中文分詞
  • 消除噪音(比如版權申明文字蹲姐、導航條、廣告等...)
  • 索引處理
  • 鏈接關系計算
  • 特殊文件處理
  • ....

除了HTML文件外,搜索引擎還能抓取和索引以文字為基礎的多種文件類型淤堵,如PDF寝衫、WORD顷扩、WPS拐邪、PPT、TXT等隘截。我們在搜索結果中也經常會看到這種文件類型扎阶。

但搜索引擎還不能處理圖片、視頻婶芭、Flash這類非文字內容东臀,也不能執(zhí)行腳本和程序。

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

搜索引擎在對信息進行組織和處理后惰赋,為用戶提供關鍵字檢索服務,將用戶檢索相關的信息展示給用戶呵哨。

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


搜索引擎工作原理

但是,這些通用搜索引擎也存在著一定的局限性

  1. 通用搜索引擎所返回的結果都是網頁挨务,而大多情況下击你,網頁里90%的內容對用戶來說都是無用的。
  2. 不同領域谎柄、不同背景的用戶往往具有不同的檢索目的和需求丁侄,搜索引擎無法提供針對具體某個用戶的搜索結果。
  3. 萬維網數據形式的豐富和網絡技術的不斷發(fā)展朝巫,圖片鸿摇、數據庫、音頻捍歪、視頻多媒體等不同數據大量出現户辱,通用搜索引擎對這些文件無能為力,不能很好地發(fā)現和獲取糙臼。
  4. 通用搜索引擎大多提供基于關鍵字的檢索庐镐,難以支持根據語義信息提出的查詢,無法準確理解用戶的具體需求变逃。

針對這些情況必逆,聚焦爬蟲技術得以廣泛使用

聚焦爬蟲

聚焦爬蟲,是"面向特定主題需求"的一種網絡爬蟲程序,它與通用搜索引擎爬蟲的區(qū)別在于: 聚焦爬蟲在實施網頁抓取時會對內容進行處理篩選名眉,盡量保證只抓取與需求相關的網頁信息粟矿。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市损拢,隨后出現的幾起案子陌粹,更是在濱河造成了極大的恐慌,老刑警劉巖福压,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件掏秩,死亡現場離奇詭異,居然都是意外死亡荆姆,警方通過查閱死者的電腦和手機蒙幻,發(fā)現死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來胆筒,“玉大人邮破,你說我怎么就攤上這事∑途龋” “怎么了抒和?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長派桩。 經常有香客問我构诚,道長,這世上最難降的妖魔是什么铆惑? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任范嘱,我火速辦了婚禮,結果婚禮上员魏,老公的妹妹穿的比我還像新娘丑蛤。我一直安慰自己,他們只是感情好撕阎,可當我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布受裹。 她就那樣靜靜地躺著,像睡著了一般虏束。 火紅的嫁衣襯著肌膚如雪棉饶。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天镇匀,我揣著相機與錄音照藻,去河邊找鬼。 笑死汗侵,一個胖子當著我的面吹牛幸缕,可吹牛的內容都是我干的群发。 我是一名探鬼主播,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼发乔,長吁一口氣:“原來是場噩夢啊……” “哼熟妓!你這毒婦竟也來了?” 一聲冷哼從身側響起栏尚,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤起愈,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后抵栈,有當地人在樹林里發(fā)現了一具尸體告材,經...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡坤次,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年古劲,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片缰猴。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡产艾,死狀恐怖,靈堂內的尸體忽然破棺而出滑绒,到底是詐尸還是另有隱情闷堡,我是刑警寧澤,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布疑故,位于F島的核電站杠览,受9級特大地震影響,放射性物質發(fā)生泄漏纵势。R本人自食惡果不足惜踱阿,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望钦铁。 院中可真熱鬧软舌,春花似錦、人聲如沸牛曹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽黎比。三九已至超营,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間阅虫,已是汗流浹背演闭。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留书妻,地道東北人船响。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓躬拢,卻偏偏與公主長得像,于是被迫代替她去往敵國和親见间。 傳聞我的和親對象是個殘疾皇子聊闯,可洞房花燭夜當晚...
    茶點故事閱讀 43,514評論 2 348

推薦閱讀更多精彩內容