首頁常見問題正文

常用的爬蟲框架或者模塊有哪些?簡述它們的優(yōu)缺點

更新時間:2023-03-10 來源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

  Python自帶的urllib和urllib2,也可以使用requests這種第三方庫,或者Scrapy框架。

  urllib和urllib2模塊都可以做與請求URL相關(guān)的操作,但它們提供了不同的功能。

  urllib2.urlopen可以接收一個Request對象或者URL(在接受Request對象的時候,并以此可以來設(shè)置一個URL的headers),urllib.urlopen只接收一個URL。

  由于urllib有urlencode方法可以將字符串以URL進行編碼,但是urllib2沒有,urllib和urllib2經(jīng)常會一起使用。urllib2可以接收一個Request類的實例來設(shè)置URL請求的headers,urlib僅可以接受URL。

  request是一個HTTP庫,它可以用來對HTTP進行請求,是一個強大的庫,但是下載和解析部分需要自己處理,靈活性高,高并發(fā)與分布式部署也非常靈活,對于功能可以更好實現(xiàn)。

  Scrapy是一個封裝起來的框架,它包含了下載器、解析器、日志及異常處理,基于多線程,Scrapy基于多線程和Twisted的方式處理,對于固定單個網(wǎng)站的爬取開發(fā)有優(yōu)勢,但是對于多網(wǎng)站爬取,在并發(fā)及分布式處理方面,顯得不夠靈活。

1678416855526_領(lǐng)取課程.jpg

分享到:
在線咨詢 我要報名
和我們在線交談!