1. 簡(jiǎn)單的爬蟲(chóng)
1)需要從網(wǎng)站上爬取文章,并上傳至服務(wù)器,實(shí)現(xiàn)模擬用戶發(fā)帖。
GitHub地址:https://github.com/JohonseZhang/Scrapy-Spider-based-on-Python3?
2)爬取類似今日頭條、淘寶、京東等動(dòng)態(tài)加載網(wǎng)站的需要配合selenium和phantomjs框架:
https://github.com/JohonseZhang/python3-scrapy-spider-phantomjs-selenium?
主要是采用 Python 編寫(xiě)的scrapy框架,scrapy是目前非常熱門(mén)的一種爬蟲(chóng)框架,它把整個(gè)爬蟲(chóng)過(guò)程分為了多個(gè)獨(dú)立的模塊,并提供了多個(gè)基類可以供我們?nèi)プ杂蓴U(kuò)展,讓爬蟲(chóng)編寫(xiě)變得簡(jiǎn)單而有邏輯性。并且scrapy自帶的多線程、異常處理、以及強(qiáng)大的自定義Settings也讓整個(gè)數(shù)據(jù)抓取過(guò)程變得高效而穩(wěn)定。scrapy-redis:一個(gè)三方的基于redis的分布式爬蟲(chóng)框架,配合scrapy使用,讓爬蟲(chóng)具有了分布式爬取的功能。github地址:https://github.com/darkrho/scrapy-redismongodb 、mysql 或其他數(shù)據(jù)庫(kù):針對(duì)不同類型數(shù)據(jù)可以根據(jù)具體需求來(lái)選擇不同的數(shù)據(jù)庫(kù)存儲(chǔ)。結(jié)構(gòu)化數(shù)據(jù)可以使用mysql節(jié)省空間,非結(jié)構(gòu)化、文本等數(shù)據(jù)可以采用mongodb等非關(guān)系型數(shù)據(jù)提高訪問(wèn)速度。具體選擇可以自行百度谷歌,有很多關(guān)于sql和nosql的對(duì)比文章。其實(shí)對(duì)于已有的scrapy程序,對(duì)其擴(kuò)展成分布式程序還是比較容易的。