促使我研究爬蟲的契機(jī)很簡(jiǎn)單妄痪,也很直接:想把 http://meizhi.im 這個(gè)網(wǎng)站上所有的圖片保存下來,想想都激動(dòng)铣揉,紳士們都會(huì)懂的(*_*)
一直以來都覺得網(wǎng)絡(luò)爬蟲是個(gè)很好玩的東西,如果學(xué)會(huì)使用,那么無論是你想要的文字還是圖片寒瓦,就都能夠清晰明了地展現(xiàn)在你眼前。所以我所理解的爬蟲涵義就是獲取網(wǎng)頁上你想要的信息內(nèi)容坪仇。
大家似乎都比較喜歡用 Python 來寫爬蟲代碼杂腰,是因?yàn)樗鼡碛斜容^強(qiáng)大的庫,便于開發(fā)椅文。無奈的是我不會(huì)這門語言喂很,于是就嘗試使用 Node.js 來進(jìn)行網(wǎng)頁數(shù)據(jù)的抓取以及分析。
其實(shí) Node.js 也有很強(qiáng)大的原生及第三方模塊的支持皆刺,所謂代碼靠抄(邪教)少辣,這里就毫不客氣地直接使用已經(jīng)造好的輪子了:《使用 eventproxy 控制并發(fā)》。以此為基礎(chǔ)羡蛾,我們所需要做的工作無非就是將各個(gè)帖子中的圖片篩選出來并下載到本地漓帅。
直接扔 Github 鏈接:https://github.com/saintwinkle/meizhi-crawler 。
其實(shí)就網(wǎng)站現(xiàn)有的帖子數(shù)量上來講痴怨,從效率角度出發(fā)忙干,并發(fā)特性沒有得到比較好的利用,就算一個(gè)個(gè)帖子去抓取浪藻,速度上最終并不會(huì)相差太多捐迫。
截至此文發(fā)表時(shí)間,該站約有 1500 張圖片珠移,僅供參考弓乙,期待更多末融。以上。