爬蟲是什么?
相信大家對爬蟲都不陌生,特別是做過網(wǎng)站的站長,這里也簡單跟大家解釋一下:
如果我們把互聯(lián)網(wǎng)比作一張大的蜘蛛網(wǎng),數(shù)據(jù)便是存放于蜘蛛網(wǎng)的各個節(jié)點,而爬蟲就是一只小蜘蛛,
它會沿著網(wǎng)絡(luò)抓取自己的獵物(數(shù)據(jù))爬蟲指的是:向網(wǎng)站發(fā)起請求,獲取資源后分析并提取有用數(shù)據(jù)的程序;
從技術(shù)層面來說就是通過程序模擬瀏覽器請求站點的行為,把站點返回的html代碼/JSON數(shù)據(jù)/二進制數(shù)據(jù)(圖片、視頻) 爬到本地,進而提取自己需要的數(shù)據(jù),存放起來使用。
舉個栗子:
比如我的工作是新媒體小編,現(xiàn)在要學(xué)寫作取標(biāo)題,最簡單的方式就是去目標(biāo)公眾號/網(wǎng)站等復(fù)制他們的標(biāo)題到Excel來進行分析。
這樣的傻瓜式操作很簡單,但是效率很低,也很慢,而最高效的方式是什么呢?就是通過爬蟲直接爬取我需要的標(biāo)題,而這個過程僅僅需要1分鐘。
廢話不多說,跟我一起來操作吧。
01
準(zhǔn)備工作
在你的瀏覽器安裝:“webscraper”擴展,直接在瀏覽器應(yīng)用市場下載即可,推薦使用chrome瀏覽器。
安裝好之后,啟用它。
進入你要爬取數(shù)據(jù)的頁面,以下我將以知乎來為大家舉例。比如我要爬取知乎小管家的所有文章標(biāo)題,那么就先進入到知乎小管家的文章頁面。
然后,按下鍵盤的F12,進入開發(fā)者工具。
當(dāng)然有些瀏覽器不同,可能F12進入不了,你可以使用以下快捷鍵:
win:Ctrl+Shift+I
mac:Cmd+Opt+I, 或者 Tools / Developer tools
或者直接在頁面按鼠標(biāo)右鍵選擇審查元素,或者是檢查。比如我的是chrome瀏覽器,就是檢查。
然后調(diào)出瀏覽器開發(fā)者工具。
默認是在瀏覽器的右側(cè),點擊右上角三個點,選擇第三個把他放到瀏覽器下方。
02
正式開始
第一步:創(chuàng)建sitemap
在開發(fā)者工具的菜單當(dāng)中選擇最后一個,也就是你剛剛安裝的那個擴展:
然后在第二行里選擇第三個,也就是:Create new sitemap
然后選擇Create Sitemap
創(chuàng)建好之后會出現(xiàn)兩個選項讓你填寫:
sitemap name:這個可自定義,比如我要抓取的是文章標(biāo)題,那么我就填寫biaoti就可以了。
start url:這個是你要爬取頁面的URL,也就是我要把知乎小管家文章頁面的鏈接復(fù)制到這里。
以下是我填好后的:
然后點擊Create Sitemap,第一步就完成了。
第二步:添加 selector
點擊add new selector
然后又出來一些選框:
id:因為我們要爬取的是標(biāo)題,所以就填:“title”。type:這是個選項,一樣,因為我們要爬取的是標(biāo)題,也就是文本,所以這里我們就選默認的Text。Selector:最重要的一步,待會演示。Multiple:打上勾Regex:不用管Parent Selectors:不用管
以下是我填好的:
剛剛還有Selector這個最重要的一步我們沒有做,現(xiàn)在我們來說說它,這里有3個選項,分別是:
1、Select = 選擇器
2、Elementt preview = 預(yù)覽
3、Data preview = 數(shù)據(jù)預(yù)覽
其實大家如果看得懂英文就知道它的意思了。
現(xiàn)在我們開始操作,首先點擊Select選擇器,然后你會發(fā)現(xiàn)多出來一個窗口:
這個時候你會發(fā)現(xiàn)當(dāng)你的鼠標(biāo)移動到頁面內(nèi)容的時候會發(fā)生變化,我們把它移動到標(biāo)題,然后點擊一下標(biāo)題,點擊完成之后在點擊下一個就OK了。
也就是我們一共要點擊兩下標(biāo)題,第一個和第二個。點完之后是這樣的:
你看,雖然我只點了第一個和第二個,但是它下面的所有標(biāo)題都被選中了。
這里還要跟大家說明一下:
點第一個標(biāo)題也可以說是定位,也就是說爬蟲要從哪里開始抓取,比如上圖,我也可以從第二個標(biāo)題開始選擇,然后點一下第三個標(biāo)題,然后底下的標(biāo)題就全部被選擇,只有第一個不會被選中。
但它不能選擇從哪里結(jié)束,只能定位開始。
標(biāo)題全部被選中后,然后我們點擊窗口的 Done selecting!
然后這一步我們就完成了,但是別忘了剛剛我們說到的Selector這里還個預(yù)覽,也就是:
Elementt preview
Data preview
我們點擊Elementt preview你會發(fā)現(xiàn)頁面中的標(biāo)題又全變紅了,也就是選中了,再次點擊就是取消預(yù)覽;然后點擊Data preview你會發(fā)現(xiàn):
當(dāng)然這個只是窗口預(yù)覽,但其實如果只是標(biāo)題的話,我們可以直接在這個窗口全部復(fù)制然后粘貼到電腦里。
但是還是建議大家下載下來哈。預(yù)覽沒問題之后,點擊Save selector保存:
第三步:開始抓取
我們再次點擊第二行菜單里的Sitemap biaoti,然后選擇Scrape。
然后又會跳出來最后兩個數(shù)據(jù)讓你填寫;
但是這個我們不用管它,默認的2000就好,直接點擊Start scraping開始抓取。
也解釋一下它的意思:
它意思是抓取的間隔時間以及頁面加載延遲時間。
比如我要抓取知乎的多個頁面,那就要設(shè)置間隔時間,這樣可以避免被知乎的反爬蟲監(jiān)測到。
但如果你不設(shè)置間隔時間的話,一秒鐘訪問一個網(wǎng)站幾十次甚至上百次,這很明顯不是人為的,所以很容易觸發(fā)該網(wǎng)站的反爬蟲機制,后果就是會封掉你IP地址,你就再也別想在你的電腦上訪問知乎這個網(wǎng)站了,更別提繼續(xù)抓取了~
還有一點也要跟大家說明一下,你在抓取該網(wǎng)站數(shù)據(jù)的時候,你也會占用該網(wǎng)站的帶寬,如果這個網(wǎng)站的帶寬允許同時100個人訪問,但你一秒鐘就給它訪問了幾十上百次,可能會導(dǎo)致該網(wǎng)站其他用戶無法打開頁面,或者加載延遲等問題。
這會大大對該網(wǎng)站造成非常不好的影響,所以,各位可不要用這個去攻擊別人的網(wǎng)站啊。雖然也沒什么卵用~
設(shè)置好時間之后我們點擊Start scraping開始正式抓取。
這個時候它會彈出一個窗口,我們不用管它,然后大概幾秒鐘后就抓取完了。
第四步:導(dǎo)出至本地
我們再次點擊 Sitemap biaoti 選擇 Export data as CSV
然后點擊 Download now!下載。
然后我們用Excel打開:
怎么樣,是不是很簡單,如果你會英語,就更好理解了。






