爬蟲根據(jù)使用場景分為通用爬蟲和聚焦爬蟲兩種形式苏章。
通用爬蟲的主要目的是將互聯(lián)網(wǎng)上的網(wǎng)頁下載到本地,然后放到本地服務(wù)器中形成備份踱阿,再對這些網(wǎng)頁做相關(guān)處理要门,最后提供一個用戶檢索接口。
通用爬蟲的抓取流程
1.首先選取一部分已有的URL冠蒋,把這些URL放到待爬取隊列羽圃;
2.從待爬取隊列里取出URL,解析DNS得到主機IP抖剿,然后去這個IP對應(yīng)的服務(wù)器里下載HTML頁面朽寞,保存到搜索引擎的本地服務(wù)器,最后把這個爬過的URL放入已爬取隊列斩郎;
3.分析這些網(wǎng)頁內(nèi)容脑融,找出網(wǎng)頁里其他的URL連接,繼續(xù)執(zhí)行第二步缩宜,直到爬取條件結(jié)束肘迎。
通用爬蟲的缺點:
1.只能提供和文本相關(guān)的內(nèi)容(如HTML、Word锻煌、PDF)等妓布,不能提供多媒體文件(如音樂、圖片宋梧、視頻)和二進制文件(如程序匣沼、腳本)等。
2.提供的結(jié)果千篇一律捂龄,不能針對不同背景領(lǐng)域的人提供不同的搜索結(jié)果释涛。
3.不能理解人類語義上的檢索加叁。
為了解決這個問題,聚焦爬蟲出現(xiàn)了:
聚焦爬蟲是"面向特定主題需求"的一種網(wǎng)絡(luò)爬蟲程序枢贿,聚焦爬蟲在實施網(wǎng)頁抓取時會對內(nèi)容進行處理篩選殉农,盡量保證只抓取與需求相關(guān)的網(wǎng)頁信息。
舉小栗子
采用python爬取qq代碼如
1 import urllib
2
3 response = urllib.urlopen("http://www.qq.com/")
4
5 html = response.read()
6
7 print(html)
爬取結(jié)果部分截圖
其中urllib是python內(nèi)建的網(wǎng)絡(luò)請求庫局荚。
下期聊聊urllib,敬請期待愈污。