項(xiàng)目簡(jiǎn)介
網(wǎng)絡(luò)爬蟲(chóng)的方式來(lái)獲取信息目前在工業(yè)領(lǐng)域是一個(gè)高效率從網(wǎng)絡(luò)上獲取信息的方式尖阔,作為一個(gè)項(xiàng)目的介紹贮缅,在這個(gè)項(xiàng)目中,我們使用Scrapy(一個(gè)用Python寫(xiě)的開(kāi)源框架)介却。這個(gè)框架最初被設(shè)計(jì)用來(lái)做網(wǎng)絡(luò)爬取谴供,后來(lái)也可以被用來(lái)提取數(shù)據(jù)使用的APIs或者是一般意義上的網(wǎng)絡(luò)爬蟲(chóng)。盡管Scrapy對(duì)網(wǎng)絡(luò)爬蟲(chóng)來(lái)說(shuō)是一個(gè)非常詳細(xì)的基礎(chǔ)應(yīng)用架構(gòu)齿坷,但是在實(shí)際的編程過(guò)程中仍然會(huì)遇到許多實(shí)際的困難桂肌。eg:工程JavaScript和IP被鎖死。
項(xiàng)目描述
目標(biāo)
- 第一個(gè)目標(biāo):建立一個(gè)Scrapy項(xiàng)目用來(lái)在XiaomiApp商店或者其它App的商店里爬取內(nèi)容永淌。
- 第二個(gè)目標(biāo):在MogoDB里儲(chǔ)存爬取的項(xiàng)目崎场,安裝Python MogoDB驅(qū)動(dòng)同時(shí)修改pipelines.py來(lái)使被爬取的數(shù)據(jù)插入MogoDB。
- 第三個(gè)目標(biāo):通過(guò)下一個(gè)頁(yè)面鏈接來(lái)爬取更多的數(shù)據(jù)遂蛀,目前為止你僅僅爬取了首頁(yè)谭跨,如果下一個(gè)頁(yè)面是用JavaScript來(lái)寫(xiě)的,我們需要使用Splash和ScrapyJSre-render網(wǎng)頁(yè)來(lái)使動(dòng)態(tài)的網(wǎng)頁(yè)轉(zhuǎn)換為靜態(tài)的
工具需求
- python2.7
- scrapy 1.0+
- splash
- scrapyJS
- MongoDB
基礎(chǔ)知識(shí)
- basic python
提交項(xiàng)目
- 把你的最終代碼上傳制你的Github
- 請(qǐng)制作一個(gè)包括以下內(nèi)容的視頻:你的代碼組成包竹、你是怎么有效的收集和存儲(chǔ)數(shù)據(jù)的饵蒂、你是怎樣從非靜態(tài)的數(shù)據(jù)源中收集數(shù)據(jù)的泻肯。視頻時(shí)長(zhǎng)壓縮在五分鐘之內(nèi)。
參考網(wǎng)站
[1] https://www.bittiger.io/microproject/oYDSG6MSFihpiNJ66
[2] http://scrapy.org
[3]https://www.mongodb.org/
[4]https://github.com/scrapinghub/scrapy-splash
[5]https://blog.scrapinghub.com/2015/03/02/handling-javascript-in-scrapy-with-splash/