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

老男孩IT教育機構發表於2021-04-21

  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是封裝起來的框架,包含下載器、解析器、日誌及日常處理,是基於多執行緒的,採用twisted的方式處理。對於固定單個網站的爬取開發,Scrapy具有優勢;對於多網站爬取,併發及分散式處理方面,Scrapy不夠靈活,不便調整與擴充套件。

  Pyspider是一個重量級的爬蟲框架,我們知道scrapy沒有資料庫整合、分散式、斷點續爬的支援、UI控制介面等;若Scrapy想要實現這些功能,需要自行開發。Pyspider整合了前面這些功能,正因如此,pyspider擴充套件性太差,學習難度較大。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2769136/,如需轉載,請註明出處,否則將追究法律責任。

相關文章