不止不覺中,已經大學畢業上了研究生了,其實這一系列教程很早就想開始寫,因爲一堆事情加上拖到了如今。(原寫於2017年9月18號)git
大概是大二下學期剛開學的時候,我開始接觸了Web開發,那個時候跟着網上看視頻,學習了HTTP Get與Post請求,瞭解了網站是怎麼個工做的。我當時忽然聯想到了平時都在用的課程格子,想着十分有趣,想着能不能用這種技術去作這樣一款查課表的東西。github
因而乎,網上尋找資料,瞭解了登錄的原理,以及如何獲取到Cookie。當時,我最熟悉的語言是C#,從網上找了個解析HTML的dll,用着自帶的HttpWebRequest就開始搞了。那時還不會用chrome,用的HttpWatch,也遇到了不少坑,不過也經過本身的努力把學校的課表搞下來了。mongodb
不過,我發現單純搞個課表也並無什麼卵用,因而我想到了當時正值學校搶課期間,我就作個搶課軟件,那還不弔炸天。chrome
因而我用那個只能在IE上跑起來的HttpWatch抓到了JSON的數據,當時也不知道JSON是什麼,只知道XML,還網上問了一下這是什麼格式的數據,後來就知道這是傳說中的JSON,又去惡補了一遍JSON的知識。而後又找了個C#的解析JSON的dll,在個人電腦上把搶課的軟件跑起來了,下面就是當時的軟件截圖。數據庫
就是經過這個本身編寫的這個爬蟲軟件,我選上了當時的「英文記錄片視聽」這門課,不事後來據說這門課有點坑,我又給退了,o(╯□╰)o。緩存
自從那之後,我開始對爬蟲產生了濃厚的興趣,沒事兒就爬點東西玩兒,下面是我搞過的幾個和爬蟲相關的小應用。微信
練習客戶端開發,把我校的選課系統移植到了Android、iOS、Mac、Ubuntu、Windows客戶端上,見github.com/nladuo/ustb…。微信開發
查詢教務系統的成績、學分、課表等,用來練習微信開發的。多線程
統計一下中國女性的胸圍分佈。scrapy
提醒本身別忘了還書。
學習scrapy時候寫的。
拿DHT爬蟲+Sphinx作的種子搜索引擎,後來數據太多了,網站已經關了,只有圖了。
談完了我和爬蟲君的緣分後,便要開始進入正題了。在以後的幾篇文章中,我將從基礎的定向爬蟲開始講起,並結合多線程提升抓取速度,經過數據庫來緩存數據。以後會聊一聊反反爬蟲的技術,解決一些限制性的問題。由於爬蟲最原始的功能實際上是構建搜索引擎,最後,將會使用ElasticSearch構建一個搜索的案例。
一、爬蟲介紹
二、爬蟲基礎
三、數據存儲
四、反反爬蟲
五、案例——北科貼吧帖子搜索
相關代碼都放在了:github.com/nladuo/USTB…