網(wǎng)絡(luò)爬蟲(Web Spider)是什么
網(wǎng)絡(luò)爬蟲也叫網(wǎng)絡(luò)蜘蛛,即Web Spider浪谴,名字也是非常之形象开睡。
如果把互聯(lián)網(wǎng)比喻成一個(gè)蜘蛛網(wǎng),那么Spider就是在網(wǎng)上爬來爬去的蜘蛛苟耻。
網(wǎng)絡(luò)蜘蛛通過網(wǎng)頁的鏈接地址來尋找網(wǎng)頁篇恒,從網(wǎng)站某一個(gè)頁面(通常是首頁)開始,讀取網(wǎng)頁的內(nèi)容凶杖,找到在網(wǎng)頁中的其它鏈接地址胁艰,然后通過這些鏈接地址尋找下一個(gè)網(wǎng)頁,一直循環(huán)下去,直到把整個(gè)網(wǎng)站所有的網(wǎng)頁都抓取完為止腾么。
如果把整個(gè)互聯(lián)網(wǎng)就當(dāng)成一個(gè)網(wǎng)站奈梳,那么網(wǎng)絡(luò)蜘蛛可以用這個(gè)原理把互聯(lián)網(wǎng)上所有的網(wǎng)頁都抓取下來。
爬蟲是用來干嘛的解虱?攘须?
爬蟲就是從網(wǎng)頁中爬取數(shù)據(jù)的,這些數(shù)據(jù)可以是網(wǎng)頁代碼饭寺、圖片阻课、視頻叫挟、音頻等等艰匙,只要是瀏覽器網(wǎng)頁中可以呈現(xiàn)的,都可以通過爬蟲程序獲取抹恳。
但是有很多從網(wǎng)頁上獲取數(shù)據(jù)有很多種方法员凝,如:迅雷,抓站工具等
為什么要用爬蟲奋献?健霹?
爬蟲可以從網(wǎng)上爬去大量的數(shù)據(jù),相對(duì)與手工下載工具之類的瓶蚂,在需要大量數(shù)據(jù)據(jù)的時(shí)候糖埋,爬蟲會(huì)更省時(shí),提高效率窃这。
下面是引用別人的
對(duì)于數(shù)據(jù)的采集工作瞳别,一般情況下不會(huì)是少量數(shù)據(jù)的定向采集,通常會(huì)是大量網(wǎng)站大量數(shù)據(jù)的集中采集杭攻,然后對(duì)于這些大量數(shù)據(jù)進(jìn)行篩選分析祟敛,如~XX公司要開發(fā)一套新聞網(wǎng)站[web項(xiàng)目],需要大量的新聞素材作為網(wǎng)站的基礎(chǔ)數(shù)據(jù)兆解,現(xiàn)要對(duì)1000個(gè)指定的新聞網(wǎng)站中的30天的數(shù)據(jù)進(jìn)行獲取馆铁。通常情況下,如果是針對(duì)性的大量數(shù)據(jù)的采集工作锅睛,我們會(huì)使用爬蟲程序進(jìn)行自動(dòng)化操作埠巨。
爬蟲分類
-
通用爬蟲
- 搜索引擎常用的信息數(shù)據(jù)采集手段,遵循數(shù)據(jù)采集的robot協(xié)議{該協(xié)議是約定的一種規(guī)范现拒,約定了哪些數(shù)據(jù)可以讓搜索引擎的爬蟲采集乖订!}
- 通用爬蟲通常是很多網(wǎng)站比較歡迎的一種操作手段,通用爬蟲可以引入新的客戶流量具练,用戶在訪問當(dāng)前網(wǎng)站時(shí)乍构,除了直接通過url地址訪問,還可以通過搜索引擎導(dǎo)向訪問當(dāng)前網(wǎng)站!
- 通用爬蟲存在一定的缺陷:通用爬蟲~一般是提供公共的數(shù)據(jù)給所有的用戶使用的哥遮,沒有針對(duì)性岂丘、對(duì)于搜索數(shù)據(jù)的關(guān)鍵詞不會(huì)有語義化定義、數(shù)據(jù)的采集比較分散
-
聚焦爬蟲
程序開發(fā)人員針對(duì)具體的需求眠饮,針對(duì)性的開發(fā)獲取數(shù)據(jù)的程序奥帘,通過程 序的自動(dòng)化操作,完成人工篩選過程~[自定義采集方式仪召、自定義篩選條件寨蹋、自定義過濾措施->私人訂制!]扔茅,不需要遵循robot協(xié)議已旧!可以獲取到更加準(zhǔn)確的數(shù)據(jù)!
第一個(gè)爬蟲程序
環(huán)境:python2.7
# -*- coding: utf-8 -*-
# python2中使用的是ACSII編碼召娜,對(duì)中文支持不太好运褪,所以一般在程序第一行加一行注釋說明使用的什么編碼格式
# 引入需要的模塊
import urllib2
# 爬求指定網(wǎng)頁
response = urllib2.urlopen("https://www.taobao.com")
print(response.read())