發(fā)布時(shí)間:2021-10-28 15:58:02來源:有考培訓(xùn)網(wǎng)綜合
杭州火星時(shí)代python培訓(xùn)怎么樣?Python中爬蟲框架或模塊的區(qū)別,我們在Python的學(xué)習(xí)過程中,需要不斷的總結(jié)知識點(diǎn),這樣我們才能進(jìn)步的更快一些。
杭州火星時(shí)代python培訓(xùn)怎么樣?
火星時(shí)代于1994年出版CG教材——《三維動畫速成》,創(chuàng)辦“火星人”品牌,成立“王琦電腦動畫工作室”,秉承“分享”的理念,把更多的CG技術(shù)分享給其他人,開啟了中國CG教育元年。火星時(shí)代教育是較早進(jìn)入中國數(shù)字藝術(shù)領(lǐng)域的企業(yè)。27年來,火星時(shí)代教育攜手眾多國內(nèi)外知名企業(yè),大力培養(yǎng)數(shù)字藝術(shù)設(shè)計(jì)人才,共同推動了中國數(shù)字藝術(shù)創(chuàng)意產(chǎn)業(yè)的發(fā)展。
(1)爬蟲框架或模塊
Python自帶爬蟲模塊:urllib、urllib2;
第三方爬蟲模塊:requests,aiohttp;
爬蟲框架:Scrapy、pyspider。
(2)爬蟲框架或模塊的優(yōu)缺點(diǎn)
urllib和urllib2模塊都用于請求URL相關(guān)的操作,但他們提供了不同的功能。urllib2模塊中urllib2.urlopen可以接受一個Request對象或者url,(在接受Request對象時(shí)候,并以此可以來設(shè)置一個URL的headers),且只接收一個url;urllib中有urlencode,而urllib2中沒有。因此,開發(fā)人員在實(shí)際開發(fā)中經(jīng)常會將urllib與urllib2一起使用。
requests是一個HTTP庫,它僅僅用于發(fā)送請求。對于HTTP請求而言,request是一個強(qiáng)大的庫,可以自己處理下載、解析,靈活性更高,高并發(fā)與分布式部署也非常靈活,對于功能可以更好實(shí)現(xiàn)。
aiohttp是一個基于python3的asyncio攜程機(jī)制實(shí)現(xiàn)的一個http庫。相比requests,aiohttp自身就具備了異步功能。但只能在python3環(huán)境中使用。
Scrapy是封裝起來的框架,它包含了下載器、解析器、日志及異常處理,是基于多線程的,采用twisted的方式處理。對于固定單個網(wǎng)站的爬取開發(fā),Scrapy具有優(yōu)勢;對于多網(wǎng)站爬取,并發(fā)及分布式處理方面,Scrapy不夠靈活,不便調(diào)整與擴(kuò)展。
Scrapy是基于python實(shí)現(xiàn)的爬蟲框架,擴(kuò)展性比較差。
Pyspider是一個重量級的爬蟲框架。我們知道Scrapy沒有數(shù)據(jù)庫集成、分布式、斷點(diǎn)續(xù)爬的支持、UI控制界面等等,若Scrapy想要實(shí)現(xiàn)這些功能,需要自行開發(fā)。Pyspider已經(jīng)集成了前面這些功能,也正因如此,Pyspider的擴(kuò)展性太差,學(xué)習(xí)難度較大。