Python是數(shù)據(jù)科學(xué)家十分喜愛的編程語言,其內(nèi)置了很多由C語言編寫的庫,操作起來更加方便,Python在網(wǎng)絡(luò)爬蟲的傳統(tǒng)應(yīng)用領(lǐng)域,在大數(shù)據(jù)的抓取方面具有先天優(yōu)勢,目前,最流行的爬蟲框架Scrapy,HTTP工具包urlib2,HTML解析工具beautifulsoup,XML解析器lxml,等等,都是能夠獨(dú)當(dāng)一面的Python類庫。 Python十分適合數(shù)據(jù)抓取工作,對于大數(shù)據(jù)的處理,具有一定的局限性: Python在大數(shù)據(jù)處理方面的優(yōu)勢: 1. 異??旖莸拈_發(fā)速度,代碼量少; 2. 豐富的數(shù)據(jù)處理包,使用十分方便; 3. 內(nèi)部類型使用成本低; 4. 百萬級別數(shù)據(jù)可以采用Python處理。 Python在大數(shù)據(jù)處理方面的劣勢: 1. python線程有gil,多線程的時候只能在一個核上跑,浪費(fèi)了多核服務(wù)器; 2. python執(zhí)行效率不高,在處理大數(shù)據(jù)的時候,效率不高; 3. 10億級別以上的數(shù)據(jù)Python效率低。 Python適合大數(shù)據(jù)的抓取、載入和分發(fā),相比于其他語言更加簡單、高效;求一些常用的統(tǒng)計量和求一些基本算法的結(jié)果,python也有現(xiàn)成的高效的庫,但是針對大數(shù)據(jù)處理,Python具有一定的局限于,因此,涉及大數(shù)據(jù)處理時,可以用Python做整個流程的框架,核心CPU密集操作可以采用C語言等編程語言! |
|