一、前言
你是不是在為想收集數(shù)據(jù)而不知道如何收集而著急?
你是不是在為想學(xué)習(xí)爬蟲而找不到一個專門為小白寫的教程而煩惱?
Bingo! 你沒有看錯,這就是專門面向小白學(xué)習(xí)爬蟲而寫的!我會采用實例的方式,把每個部分都跟實際的例子結(jié)合起來幫助小伙伴兒們理解。最后再寫幾個實戰(zhàn)的例子。
我們使用Python來寫爬蟲,一方面因為Python是一個特別適合變成入門的語言,另一方面,Python也有很多爬蟲相關(guān)的工具包,能夠簡單快速的開發(fā)出我們的小爬蟲。
本系列采用Python3.5版本,畢竟2.7會慢慢退出歷史舞臺~
那么,接下來,你得知道什么是爬蟲、爬蟲從哪里爬取數(shù)據(jù)的,以及,學(xué)習(xí)爬蟲都要學(xué)習(xí)哪些東西。
二、什么是爬蟲
來看看百度百科是如何定義的
網(wǎng)絡(luò)爬蟲(又被稱為網(wǎng)頁蜘蛛,網(wǎng)絡(luò)機器人,在FOAF社區(qū)中間,更經(jīng)常的稱為網(wǎng)頁追逐者),是一種按照一定的規(guī)則,自動地抓取萬維網(wǎng)信息的程序或者腳本。另外一些不常使用的名字還有螞蟻、自動索引、模擬程序或者蠕蟲。
什么?沒看懂?沒關(guān)系,我來給你解釋一下
打開一個網(wǎng)頁,里面有網(wǎng)頁內(nèi)容吧,想象一下,有個工具,可以把網(wǎng)頁上的內(nèi)容獲取下來,存到你想要的地方,這個工具就是我們今天的主角:爬蟲。
這樣是不是更清晰了呢?
既然了解了爬蟲是什么,那么爬蟲是如何爬取數(shù)據(jù)的呢?
三、爬蟲是哪里爬取數(shù)據(jù)的
打開瀏覽器(強烈建議谷歌瀏覽器),找到瀏覽器地址欄,然后在里敲music.163.com,你會看到網(wǎng)頁內(nèi)容。

欸,圖片中間那倆人在干嘛?(單身狗請主動防御,這是誤傷,這真的是誤傷!)
鼠標在頁面上點擊右鍵,然后點擊view page source??吹竭@些文字了嗎?這才是網(wǎng)頁最赤果果的樣子。

其實所有的網(wǎng)頁都是HTML代碼,只不過瀏覽器將這些代碼解析成了上面的網(wǎng)頁,我們的小爬蟲抓取的其實就是HTML代碼中的文本啦。
這不合理啊,難不成那些圖片也是文本?
恭喜你,答對了?;氐綖g覽器中有圖的哪個tab頁,鼠標右鍵,點擊Inspect。會彈出一個面板,點擊板左上角的箭頭,點擊虐狗圖片,你會看到下面有紅圈圈的地方,是圖片的網(wǎng)絡(luò)地址。圖片可以通過該地址保存到本地哦。

你猜的沒錯,我們的小爬蟲抓取的正是網(wǎng)頁中的數(shù)據(jù),你要知道你想要抓取什么數(shù)據(jù),你的目標網(wǎng)站是什么,才可以把想法變成現(xiàn)實的哦。你不能說,我想要這個這個,還有這個,然后數(shù)據(jù)就自動來了。。。(是不是讓你想起了你的導(dǎo)師或老板?)
四、學(xué)習(xí)爬蟲的必備知識
大家要先對以下內(nèi)容有一定的了解再來學(xué)習(xí)爬蟲哦,磨刀不誤砍柴工
HTML
這個能夠幫助你了解網(wǎng)頁的結(jié)構(gòu),內(nèi)容等??梢詤⒖?a target="_blank" rel="nofollow">W3School的教程。Python
如果有編程基礎(chǔ)的小伙伴兒,推薦看一個廖雪峰的Python教程就夠了
沒有編程基礎(chǔ)的小伙伴,推薦看看視頻教程(網(wǎng)易云課堂搜Python),然后再結(jié)合廖雪峰的教程,雙管齊下。
其實知乎上總結(jié)的已經(jīng)非常好了,我就不多嘮叨了。知乎-如何系統(tǒng)的自學(xué)PythonTCP/IP協(xié)議,HTTP協(xié)議
這些知識能夠讓你了解在網(wǎng)絡(luò)請求和網(wǎng)絡(luò)傳輸上的基本原理,了解就行,能夠幫助今后寫爬蟲的時候理解爬蟲的邏輯。
廖雪峰Python教程里也有簡單介紹,可以參考:TCP/IP簡介,HTTP協(xié)議
想更深入學(xué)習(xí)的小伙伴兒可以去網(wǎng)上多搜搜相關(guān)的書籍哦
OK, 下一篇就開始我們的實戰(zhàn)啦