一、前言
你是不是在為想收集數(shù)據(jù)而不知道如何收集而著急怜姿?
你是不是在為想學習爬蟲而找不到一個專門為小白寫的教程而煩惱?
Bingo! 你沒有看錯,這就是專門面向小白學習爬蟲而寫的蚕钦!我會采用實例的方式,把每個部分都跟實際的例子結合起來幫助小伙伴兒們理解鹅很。最后再寫幾個實戰(zhàn)的例子嘶居。
我們使用Python來寫爬蟲,一方面因為Python是一個特別適合變成入門的語言促煮,另一方面邮屁,Python也有很多爬蟲相關的工具包,能夠簡單快速的開發(fā)出我們的小爬蟲菠齿。
本系列采用Python3.5版本佑吝,畢竟2.7會慢慢退出歷史舞臺~
那么,接下來绳匀,你得知道什么是爬蟲芋忿、爬蟲從哪里爬取數(shù)據(jù)的,以及疾棵,學習爬蟲都要學習哪些東西戈钢。
二、什么是爬蟲
來看看百度百科是如何定義的
網(wǎng)絡爬蟲(又被稱為網(wǎng)頁蜘蛛是尔,網(wǎng)絡機器人殉了,在FOAF社區(qū)中間,更經(jīng)常的稱為網(wǎng)頁追逐者)拟枚,是一種按照一定的規(guī)則薪铜,自動地抓取萬維網(wǎng)信息的程序或者腳本。另外一些不常使用的名字還有螞蟻恩溅、自動索引痕囱、模擬程序或者蠕蟲。
什么暴匠?沒看懂鞍恢?沒關系,我來給你解釋一下
打開一個網(wǎng)頁,里面有網(wǎng)頁內容吧帮掉,想象一下弦悉,有個工具,可以把網(wǎng)頁上的內容獲取下來蟆炊,存到你想要的地方稽莉,這個工具就是我們今天的主角:爬蟲。
這樣是不是更清晰了呢涩搓?
既然了解了爬蟲是什么污秆,那么爬蟲是如何爬取數(shù)據(jù)的呢?
三昧甘、爬蟲是哪里爬取數(shù)據(jù)的
打開瀏覽器(強烈建議谷歌瀏覽器)良拼,找到瀏覽器地址欄,然后在里敲music.163.com充边,你會看到網(wǎng)頁內容庸推。
欸,圖片中間那倆人在干嘛浇冰?(單身狗請主動防御贬媒,這是誤傷,這真的是誤傷V庀啊)
鼠標在頁面上點擊右鍵际乘,然后點擊view page source∑澹看到這些文字了嗎蚓庭?這才是網(wǎng)頁最赤果果的樣子。
其實所有的網(wǎng)頁都是HTML代碼仅仆,只不過瀏覽器將這些代碼解析成了上面的網(wǎng)頁,我們的小爬蟲抓取的其實就是HTML代碼中的文本啦垢袱。
這不合理啊墓拜,難不成那些圖片也是文本?
恭喜你请契,答對了咳榜。回到瀏覽器中有圖的哪個tab頁爽锥,鼠標右鍵涌韩,點擊Inspect。會彈出一個面板氯夷,點擊板左上角的箭頭臣樱,點擊虐狗圖片,你會看到下面有紅圈圈的地方,是圖片的網(wǎng)絡地址雇毫。圖片可以通過該地址保存到本地哦玄捕。
你猜的沒錯,我們的小爬蟲抓取的正是網(wǎng)頁中的數(shù)據(jù)棚放,你要知道你想要抓取什么數(shù)據(jù)枚粘,你的目標網(wǎng)站是什么,才可以把想法變成現(xiàn)實的哦飘蚯。你不能說馍迄,我想要這個這個,還有這個局骤,然后數(shù)據(jù)就自動來了攀圈。。庄涡。(是不是讓你想起了你的導師或老板量承?)
四、學習爬蟲的必備知識
大家要先對以下內容有一定的了解再來學習爬蟲哦穴店,磨刀不誤砍柴工
HTML
這個能夠幫助你了解網(wǎng)頁的結構撕捍,內容等∑矗可以參考W3School的教程忧风。Python
如果有編程基礎的小伙伴兒,推薦看一個廖雪峰的Python教程就夠了
沒有編程基礎的小伙伴球凰,推薦看看視頻教程(網(wǎng)易云課堂搜Python)狮腿,然后再結合廖雪峰的教程,雙管齊下呕诉。
其實知乎上總結的已經(jīng)非常好了缘厢,我就不多嘮叨了。知乎-如何系統(tǒng)的自學PythonTCP/IP協(xié)議甩挫,HTTP協(xié)議
這些知識能夠讓你了解在網(wǎng)絡請求和網(wǎng)絡傳輸上的基本原理贴硫,了解就行,能夠幫助今后寫爬蟲的時候理解爬蟲的邏輯伊者。
廖雪峰Python教程里也有簡單介紹英遭,可以參考:TCP/IP簡介,HTTP協(xié)議
想更深入學習的小伙伴兒可以去網(wǎng)上多搜搜相關的書籍哦
OK, 下一篇就開始我們的實戰(zhàn)啦