1.什么是爬蟲
爬蟲,即網絡爬蟲,大家可以理解為在網絡上爬行的一只蜘蛛,互聯網就比作一張大網,而爬蟲便是在這張網上爬來爬去的蜘蛛咯,如果它遇到資源,那么它就會抓取下來。想抓取什么?這個由你來控制它咯。
比如它在抓取一個網頁,在這個網中他發現了一條道路,其實就是指向網頁的超鏈接,那么它就可以爬到另一張網上來獲取數據。這樣,整個連在一起的大網對這之蜘蛛來說觸手可及,分分鐘爬下來不是事兒。
2.瀏覽網頁的過程
在用戶瀏覽網頁的過程中,我們可能會看到許多好看的圖片,比如 http://novel.tanzhouvip.com/ ,我們會看到幾張的圖片以及百度搜索框,這個過程其實就是用戶輸入網址之后,經過DNS服務器,找到服務器主機,向服務器發出一個請求,服務器經過解析之后,發送給用戶的瀏覽器 HTML、JS、CSS 等文件,瀏覽器解析出來,用戶便可以看到形形色色的圖片了。
因此,用戶看到的網頁實質是由 HTML 代碼構成的,爬蟲爬來的便是這些內容,通過分析和過濾這些 HTML 代碼,實現對圖片、文字等資源的獲取。
3.URL的含義
URL,即統一資源定位符,也就是我們說的網址,統一資源定位符是對可以從互聯網上得到的資源的位置和訪問方法的一種簡潔的表示,是互聯網上標準資源的地址。互聯網上的每個文件都有一個唯一的URL,它包含的信息指出文件的位置以及瀏覽器應該怎么處理它。
URL的格式由三部分組成:
①第一部分是協議(或稱為服務方式)。
http:// https:// ftp:// file://
②第二部分是存有該資源的主機IP地址(有時也包括端口號)。
127.0.0.1 www.tanzhouedu.com
baidu.tk
頂級域名,一級域名,根域名:除了后綴以外只有一個點號
www.baidu.com 二級域名
com baidu.com cn baidu.cn shanfeng.club
com.cn org.cn
baidu.com.cn
頂級域名baidu.com baidu.com.cn
二級域名www.baidu.com mp3.baidu.com
三級域名a.b.baidu.com
③第三部分是主機資源的具體地址,如目錄和文件名等。
爬蟲爬取數據時必須要有一個目標的URL才可以獲取數據,因此,它是爬蟲獲取數據的基本依據,準確理解它的含義對爬蟲學習有很大幫助。
4. 環境的配置
學習Python,當然少不了環境的配置,該課程使用的Python版本為Python2.7.9,開發工具為pycharm
5.爬蟲的重要思想
1,理論上來講只要是網頁上面能夠看到的數據都是可以爬取的(因為所有看到的網頁上的數據都是由服務器發送到我們電腦上面的,只是有的數據加密過,很難解密)
2,在網頁上無法看到或者無法獲取的數據,爬蟲同樣不可能拿到,比如一些付費資料
3,分析頁面數據的原則是從簡到繁,從易到難
1)直接通過網頁源代碼獲取
2)分析是否為ajax異步加載
3)數據是否被加密 js