Python中爬蟲模塊有哪些?優缺點介紹!

  Python是一門高級的編程語言,它語法簡單、清晰,容易入門,可用的包、庫、模塊有不少,即使是初學者也可以快速實現簡單的網絡爬蟲,那麼你知道Python中爬蟲模塊有哪些嗎?咱們一塊兒來看看吧。數據庫

  Python自帶爬蟲模塊:urllib、urllib2;編程

  第三方爬蟲模塊:requests、aiohttp;網絡

  爬蟲框架:Scrapy、pyspider。多線程

  Python爬蟲模塊優缺點介紹:併發

  Urllib和urllib2模塊都用於請求url相關的操做,但他們提供了不一樣的功能。Urllib2模塊中urllib2.urlopen能夠接受一個Request對象或者url,且只接收一個url;urllib中有urlencode,而urllib2中沒有。所以,開發人員在實際開發中常常會將urllib和urllib2一塊兒使用。框架

  Requests是一個http庫,僅僅用於發送請求。對於http請求而言,Requests是一個強大的庫,能夠本身處理下載、解析,靈活性很高,高併發與分佈式部署也很是靈活,對於功能能夠更好實現。異步

  Aiohttp是一個基於Python3的asyncio攜程機制實現的一個http庫,對比Requests,aiohttp自身就具有了異步功能,但只能在Python3環境中使用。scrapy

  Scrapy是封裝起來的框架,包含下載器、解析器、日誌及平常處理,是基於多線程的,採用twisted的方式處理。對於固定單個網站的爬取開發,Scrapy具備優點;對於多網站爬取,併發及分佈式處理方面,Scrapy不夠靈活,不便調整與擴展。async

  Pyspider是一個重量級的爬蟲框架,咱們知道scrapy沒有數據庫集成、分佈式、斷點續爬的支持、UI控制界面等;若Scrapy想要實現這些功能,須要自行開發。Pyspider集成了前面這些功能,正因如此,pyspider擴展性太差,學習難度較大。編程語言

相關文章
相關標籤/搜索