最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

16. Scrapy 框架介紹與安裝

2020-07-01 15:53 作者:自學(xué)Python的小姐姐呀  | 我要投稿


image

1. Scrapy 框架介紹

  • Scrapy是Python開發(fā)的一個快速,高層次的屏幕抓取和web抓取框架,用于抓取web站點并從頁面中提取結(jié)構(gòu)化的數(shù)據(jù)。Scrapy = Scrach+Python

  • Scrapy用途廣泛,可以用于數(shù)據(jù)挖掘、監(jiān)測和自動化測試、信息處理和歷史檔案等大量應(yīng)用范圍內(nèi)抽取結(jié)構(gòu)化數(shù)據(jù)的應(yīng)用程序框架,廣泛用于工業(yè)

  • Scrapy 使用Twisted 這個異步網(wǎng)絡(luò)庫來處理網(wǎng)絡(luò)通訊,架構(gòu)清晰,并且包含了各種中間件接口,可以靈活的完成各種需求。Scrapy是由Twisted寫的一個受歡迎的Python事件驅(qū)動網(wǎng)絡(luò)框架,它使用的是非堵塞的異步處理

1.1 為什么要使用Scrapy?

  • 它更容易構(gòu)建和大規(guī)模的抓取項目

  • 它內(nèi)置的機制被稱為選擇器,用于從網(wǎng)站(網(wǎng)頁)上提取數(shù)據(jù)

  • 它異步處理請求,速度十分快

  • 它可以使用自動調(diào)節(jié)機制自動調(diào)整爬行速度

  • 確保開發(fā)人員可訪問性

1.2 Scrapy的特點

  • Scrapy是一個開源和免費使用的網(wǎng)絡(luò)爬蟲框架

  • Scrapy生成格式導(dǎo)出如:JSON,CSV和XML

  • Scrapy內(nèi)置支持從源代碼,使用XPath或CSS表達式的選擇器來提取數(shù)據(jù)

  • Scrapy基于爬蟲,允許以自動方式從網(wǎng)頁中提取數(shù)據(jù)

1.3 Scrapy的優(yōu)點

  • Scrapy很容易擴展,快速和功能強大;

  • 這是一個跨平臺應(yīng)用程序框架(在Windows,Linux,Mac OS和BSD)。

  • Scrapy請求調(diào)度和異步處理;

  • Scrapy附帶了一個名為Scrapyd的內(nèi)置服務(wù),它允許使用JSON Web服務(wù)上傳項目和控制蜘蛛。

  • 也能夠刮削任何網(wǎng)站,即使該網(wǎng)站不具有原始數(shù)據(jù)訪問API;

1.4 整體架構(gòu)大致如下:

最簡單的單個網(wǎng)頁爬取流程是spiders > scheduler > downloader > spiders > item pipeline

1.5 Scrapy運行流程大概如下:

  1. 引擎從調(diào)度器中取出一個鏈接(URL)用于接下來的抓取

  2. 引擎把URL封裝成一個請求(Request)傳給下載器

  3. 下載器把資源下載下來,并封裝成應(yīng)答包(Response)

  4. 爬蟲解析Response

  5. 解析出實體(Item),則交給實體管道進行進一步的處理

  6. 解析出的是鏈接(URL),則把URL交給調(diào)度器等待抓取

1.6 Scrapy主要包括了以下組件:

  • 引擎(Scrapy)

    • 用來處理整個系統(tǒng)的數(shù)據(jù)流處理, 觸發(fā)事務(wù)(框架核心)

  • 調(diào)度器(Scheduler)

    • 用來接受引擎發(fā)過來的請求, 壓入隊列中, 并在引擎再次請求的時候返回. 可以想像成一個URL(抓取網(wǎng)頁的網(wǎng)址或者說是鏈接)的優(yōu)先隊列, 由它來決定下一個要抓取的網(wǎng)址是什么, 同時去除重復(fù)的網(wǎng)址

  • 下載器(Downloader)

    • 用于下載網(wǎng)頁內(nèi)容, 并將網(wǎng)頁內(nèi)容返回給蜘蛛(Scrapy下載器是建立在twisted這個高效的異步模型上的)

  • 爬蟲(Spiders)

    • 爬蟲是主要干活的, 用于從特定的網(wǎng)頁中提取自己需要的信息, 即所謂的實體(Item)。用戶也可以從中提取出鏈接,讓Scrapy繼續(xù)抓取下一個頁面

  • 項目管道(Pipeline)

    • 負責(zé)處理爬蟲從網(wǎng)頁中抽取的實體,主要的功能是持久化實體、驗證實體的有效性、清除不需要的信息。當(dāng)頁面被爬蟲解析后,將被發(fā)送到項目管道,并經(jīng)過幾個特定的次序處理數(shù)據(jù)。

  • 下載器中間件(Downloader Middlewares)

    • 位于Scrapy引擎和下載器之間的框架,主要是處理Scrapy引擎與下載器之間的請求及響應(yīng)

  • 爬蟲中間件(Spider Middlewares)

    • 介于Scrapy引擎和爬蟲之間的框架,主要工作是處理蜘蛛的響應(yīng)輸入和請求輸出

  • 調(diào)度中間件(Scheduler Middewares)

    • 介于Scrapy引擎和調(diào)度之間的中間件,從Scrapy引擎發(fā)送到調(diào)度的請求和響應(yīng)

2 安裝

pip install Scrapy

注:windows平臺需要依賴pywin32

ModuleNotFoundError: No module named 'win32api'

pip install pypiwin32


16. Scrapy 框架介紹與安裝的評論 (共 條)

分享到微博請遵守國家法律
定兴县| 贵定县| 河津市| 盈江县| 徐州市| 建湖县| 昌宁县| 灵川县| 上饶县| 沛县| 繁峙县| 清水县| 大城县| 班戈县| 泾源县| 乐都县| 蓬溪县| 田阳县| 漠河县| 阿勒泰市| 娱乐| 汝南县| 木里| 冀州市| 文成县| 哈巴河县| 边坝县| 百色市| 晋州市| 五莲县| 文山县| 沂南县| 富宁县| 治县。| 安塞县| 临沭县| 逊克县| 临颍县| 璧山县| 吉林省| 黎川县|