天天看點

scrapy安裝_scrapy架構介紹1.Scrapy五大基本構成2.使用scrapy架構爬取網頁資料

Scrapy是Python開發的一個快速、高層次的螢幕抓取和web抓取架構,用于抓取web站點并從頁面中提取結構化資料的應用程式架構。Scrapy用途廣泛,可以用于資料挖掘、監測和自動化測試;

Scrapy吸引人的地方在于它是一個架構,任何人都可以根據需求友善的修改。它也提供了多種類型爬蟲的基類,如BaseSpider、sitemap爬蟲等;

1.Scrapy五大基本構成

  • Scrapy架構主要由五大元件組成,分别是排程器(Scheduler)、下載下傳器(Downloader)、爬蟲(Spider)和實體管道(Item Pipeline)、Scrapy引擎(Scrapy Engine);
  • 排程器:可以假設成一個URL的優先隊列,由它來決定下一個要抓取的網址是什麼,同時去除重複的網址;
  • 下載下傳器:是所有元件中負擔最大的,用于高速地下載下傳網絡上的資源;
  • 爬蟲:是使用者最關心的部份,使用者定制自己的爬蟲,用于從特定的網頁中提取自己需要的資訊,也可以從中提取對外連結接,讓Scrapy繼續抓取下一個頁面;
  • 實體管道:用于處理爬蟲提取的實體,要的功能是持久化實體、驗證明體的有效性、清除不需要的資訊;
  • Scrapy引擎:是整個架構的核心,用來控制調試器、下載下傳器、爬蟲,實際上引擎相當于計算機的CPU,控制着整個流程;

2.使用scrapy架構爬取網頁資料

  • 第一步:首先要使用scrapy架構需要先安裝它,可以使用pip安裝scrapy架構,注意如果在Windows系統下直接使用pip指令行安裝可能會報錯,這時需要手動安裝幾個依賴庫如wheel、lxml、Twisted、pywin32等,報錯資訊會提示你缺少哪個庫。
  • 這裡提一下Twisted插件的安裝,它的下載下傳位址為:https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted, 進入後找到twisted,選擇下載下傳對應的版本,其中cp表示python版本,下載下傳完成後進入終端,輸入pip install Twisted-19.2.0-cp37-cp37m-win_amd64.whl,這裡注意你下載下傳的是哪個版本就輸入哪個版本的檔案名,安裝完成後再輸入pip install scrapy就能成功安裝scrapy架構了;
  • 第二步:建立爬蟲項目,建立儲存 scrapy 檔案夾scrapy_python,然後在指令行工具中cd進入這個項目路徑,用 scrapy startproject 名稱指令建立項目;
scrapy安裝_scrapy架構介紹1.Scrapy五大基本構成2.使用scrapy架構爬取網頁資料
  • 這樣我們就成功的建立了一個scrapy項目,我們在PyCharm中看看
scrapy安裝_scrapy架構介紹1.Scrapy五大基本構成2.使用scrapy架構爬取網頁資料
  • 第三步:可以在剛剛建立的項目的spiders檔案夾中建立一個蜘蛛檔案,用于爬取網頁資料的,我們試着爬取一下csdn網站,那麼建立蜘蛛的指令行是:scrapy genspider csdn www.csdn.net,其中csdn是你建立的蜘蛛的檔案名,而www.csdn.net表示爬取的目标網址的域名,你想爬取哪個網站就使用哪個網站的域名。
  • 第四步:如果要啟動我們建立的蜘蛛檔案,我們可以使用指令行:scrapy crawl csdn,這裡的csdn是蜘蛛檔案中name的對應值;
scrapy安裝_scrapy架構介紹1.Scrapy五大基本構成2.使用scrapy架構爬取網頁資料
  • 第五步:想要測試爬去資料是否成功,我們可以在項目的模闆中建立一個測試檔案,如:start_spider.py,然後通過debug來進行項目調試,可以輸出我們想要爬取的網頁資料;
from scrapy.cmdline import executeexecute(["scrapy
           

繼續閱讀