爬蟲根據使用場景分為通用爬蟲和聚焦爬蟲兩種形式。
通用爬蟲的主要目的是將互聯網上的網頁下載到本地,然后放到本地服務器中形成備份,再對這些網頁做相關處理,最后提供一個用戶檢索接口。
通用爬蟲的抓取流程
1.首先選取一部分已有的URL,把這些URL放到待爬取隊列;
2.從待爬取隊列里取出URL,解析DNS得到主機IP,然后去這個IP對應的服務器里下載HTML頁面,保存到搜索引擎的本地服務器,最后把這個爬過的URL放入已爬取隊列;
3.分析這些網頁內容,找出網頁里其他的URL連接,繼續執行第二步,直到爬取條件結束。
通用爬蟲的缺點:
1.只能提供和文本相關的內容(如HTML、Word、PDF)等,不能提供多媒體文件(如音樂、圖片、視頻)和二進制文件(如程序、腳本)等。
2.提供的結果千篇一律,不能針對不同背景領域的人提供不同的搜索結果。
3.不能理解人類語義上的檢索。
為了解決這個問題,聚焦爬蟲出現了:
聚焦爬蟲是"面向特定主題需求"的一種網絡爬蟲程序,聚焦爬蟲在實施網頁抓取時會對內容進行處理篩選,盡量保證只抓取與需求相關的網頁信息。
舉小栗子
采用python爬取qq代碼如
1 import urllib
2
3 response = urllib.urlopen("http://www.qq.com/")
4
5 html = response.read()
6
7 print(html)
爬取結果部分截圖
其中urllib是python內建的網絡請求庫。
下期聊聊urllib,敬請期待。