爬蟲,即網(wǎng)絡(luò)爬蟲,大家可以理解為在網(wǎng)絡(luò)上爬行的一直蜘蛛,互聯(lián)網(wǎng)就比作一張大網(wǎng),而爬蟲便是在這張網(wǎng)上爬來爬去的蜘蛛咯,如果它遇到資源,那么它就會(huì)抓取下來。想抓取什么?這個(gè)由你來控制它咯。
比如它在抓取一個(gè)網(wǎng)頁,在這個(gè)網(wǎng)中他發(fā)現(xiàn)了一條道路,其實(shí)就是指向網(wǎng)頁的超鏈接,那么它就可以爬到另一張網(wǎng)上來獲取數(shù)據(jù)。這樣,整個(gè)連在一起的大網(wǎng)對(duì)這之蜘蛛來說觸手可及,分分鐘爬下來不是事兒。
在用戶瀏覽網(wǎng)頁的過程中,我們可能會(huì)看到許多好看的圖片,比如 http://image.baidu.com/ ,我們會(huì)看到幾張的圖片以及百度搜索框,這個(gè)過程其實(shí)就是用戶輸入網(wǎng)址之后,經(jīng)過 DNS 服務(wù)器,找到服務(wù)器主機(jī),向服務(wù)器發(fā)出一個(gè)請(qǐng)求,服務(wù)器經(jīng)過解析之后,發(fā)送給用戶的瀏覽器 HTML、JS、CSS 等文件,瀏覽器解析出來,用戶便可以看到形形色色的圖片了。
因此,用戶看到的網(wǎng)頁實(shí)質(zhì)是由 HTML 代碼構(gòu)成的,爬蟲爬來的便是這些內(nèi)容,通過分析和過濾這些 HTML 代碼,實(shí)現(xiàn)對(duì)圖片、文字等資源的獲取。
URL,即統(tǒng)一資源定位符,也就是我們說的網(wǎng)址,統(tǒng)一資源定位符是對(duì)可以從互聯(lián)網(wǎng)上得到的資源的位置和訪問方法的一種簡潔的表示,是互聯(lián)網(wǎng)上標(biāo)準(zhǔn)資源的地址。互聯(lián)網(wǎng)上的每個(gè)文件都有一個(gè)唯一的URL,它包含的信息指出文件的位置以及瀏覽器應(yīng)該怎么處理它。
URL 的格式由三部分組成:
- 第一部分是協(xié)議(或稱為服務(wù)方式)。
- 第二部分是存有該資源的主機(jī)IP地址(有時(shí)也包括端口號(hào))。
- 第三部分是主機(jī)資源的具體地址,如目錄和文件名等。
爬蟲爬取數(shù)據(jù)時(shí)必須要有一個(gè)目標(biāo)的URL才可以獲取數(shù)據(jù),因此,它是爬蟲獲取數(shù)據(jù)的基本依據(jù),準(zhǔn)確理解它的含義對(duì)爬蟲學(xué)習(xí)有很大幫助。
學(xué)習(xí) Python,當(dāng)然少不了環(huán)境的配置,最初我用的是 Notepad++,不過發(fā)現(xiàn)它的提示功能實(shí)在是太弱了,于是,在 Windows 下我用了 PyCharm,在 Linux 下我用了 Eclipse for Python,另外還有幾款比較優(yōu)秀的 IDE,大家可以參考這篇文章 學(xué)習(xí) Python 推薦的 IDE 。好的開發(fā)工具是前進(jìn)的推進(jìn)器,希望大家可以找到適合自己的 IDE