1. 程式人生 > >scrapy專利爬蟲(一)——scrapy簡單介紹

scrapy專利爬蟲(一)——scrapy簡單介紹

scrapy專利爬蟲(一)——scrapy簡單介紹

概述

scrapy是一款方便,快捷的開源爬蟲框架。

An open source and collaborative framework for extracting the data you need from websites.

In a fast, simple, yet extensible way.

上一版本中,筆者採用selenium的方式進行資料採集,採集速度偏慢,而且有莫名的原因會導致第一次採集失敗。改用scrapy之後,就像鳥槍換大炮一般,效果顯著。

特點

  • 多執行緒

儘管python中存在著GIL鎖,導致多執行緒的效果不是特別理想,但是對於網路請求這種本身就需要等待的事件來說,多執行緒的作用還是非常大的。無需使程式花大量的時間在等待請求反饋上,可以騰出手去處理別的事情。

  • 預設自動去掉重複連結

不停地訪問一個網站對伺服器的壓力也是蠻大的,scrapy使用DUPEFILTER_CLASS自動去除重複傳送的請求。減輕了爬取物件伺服器的壓力,也降低了爬蟲被發現的風險。

  • 簡單易用,結構清晰

借用一下官方的圖

scrapy架構圖

​ 從圖上可以看出scrapy分為,item,pipeline,scrapy engine,downloader,spider等幾個部分。本專案只使用了一下 item, pipeline,downloader middlewares, spider等一部分元件。對於普通專案,使用這些部分也已經可以滿足大部分需求。

安裝

筆者只在windows系統中嘗試過scrapy,至於其他系統,請自行到查詢。

pip install scrapy

使用pip安裝即可,但是安裝過程中經常會出現各種報錯,通常都是以為安裝過程中一些庫安裝不上所致。需要開發者檢視安裝過程中輸出的報錯,根據報錯再到對應庫的官網上將whl檔案下載下來,用pip install 將whl檔案安裝即可。筆者在安裝過程中遇到的問題是twisted的庫安裝不上,下載下來安裝後便可正常。

原始碼下載

讚賞
微信支付 支付寶
微信 支付寶