日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python 网络爬虫笔记9 -- Scrapy爬虫框架

發布時間:2025/3/12 python 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python 网络爬虫笔记9 -- Scrapy爬虫框架 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python 網絡爬蟲筆記9 – Scrapy爬蟲框架


Python 網絡爬蟲系列筆記是筆者在學習嵩天老師的《Python網絡爬蟲與信息提取》課程及筆者實踐網絡爬蟲的筆記。

課程鏈接:Python網絡爬蟲與信息提取
參考文檔:
Requests 官方文檔(英文)
Requests 官方文檔(中文)
Beautiful Soup 官方文檔
re 官方文檔
Scrapy 官方文檔(英文)
Scrapy 官方文檔(中文)


一、安裝與簡介


1、安裝

# 安裝 pip install scrapy# 測試 scrapy ‐h

2、簡介

  • Scrapy是一個快速、功能強大的網絡爬蟲框架
  • Scrapy不是一個函數功能庫,而是一個爬蟲框架。爬蟲框架是實現爬蟲功能的一個軟件結構和功能組件的集合。爬蟲框架是一個半成品,能夠幫助用戶實現專業網絡爬蟲。

二、Scrapy 框架


1、Scrapy 框架圖


2、Scrapy 框架結構(5+2)

Engine: 不需要用戶修改

  • 控制所有模塊之間的數據流,不間斷從Scheduler處獲得爬取請求,直至請求為空
  • 根據條件觸發事件

Downloader: 不需要用戶修改

  • 根據請求下載網頁

Scheduler: 不需要用戶修改

  • 對所有爬取請求進行調度管理

Downloader Middleware: 用戶可以編寫配置代碼

  • 目的:實施Engine、Scheduler和Downloader之間進行用戶可配置的控制
  • 功能:修改、丟棄、新增請求或響應

Spider: 需要用戶編寫配置代碼

  • 解析Downloader返回的響應(Response)
  • 產生爬取項(scraped item)
  • 產生額外的爬取請求(Request)

Item Pipelines: 需要用戶編寫配置代碼

  • 以流水線方式處理Spider產生的爬取項
  • 由一組操作順序組成,類似流水線,每個操作是一個 Item Pipeline 類型
  • 可能操作包括:清理、檢驗和查重爬取項中的HTML數據、將數據存儲到數據庫

Spider Middleware: 用戶可以編寫配置代碼

  • 目的:對請求和爬取項的再處理
  • 功能:修改、丟棄、新增請求或爬取項

3、Scrapy 框架數據流

  • Engine從Spider處獲得爬取請求(Request) (框架入口)
  • Engine將爬取請求轉發給Scheduler,用于調度
  • Engine從Scheduler處獲得下一個要爬取的請求
  • Engine將爬取請求通過中間件發送給Downloader
  • 爬取網頁后,Downloader形成響應(Response)通過中間件發給Engine
  • Engine將收到的響應通過中間件發送給Spider處理
  • Spider處理響應后產生爬取項(scraped Item)和新的爬取請求(Requests)給Engine
  • Engine將爬取項發送給Item Pipeline(框架出口)
  • Engine將爬取請求發送給Scheduler

  • 三、Scrapy 命令


    1、使用方式

    • Scrapy是給程序員用的專業爬蟲框架,提供Scrapy命令行操作方式
    • 使用windows時,直接打開cmd輸入命令即可
    # Scrapy命令行格式 scrapy <command> [options] [args]

    2、常用命令

    命令說明格式
    startproject創建一個新工程scrapy startproject < name> [dir]
    genspider創建一個爬蟲scrapy genspider [options] < name> < domain>
    settings獲得爬蟲配置信息scrapy settings [options]
    crawl運行一個爬蟲scrapy crawl < spider>
    list列出工程中所有爬蟲scrapy list
    shell啟動URL調試命令行scrapy shell [url]

    總結

    以上是生活随笔為你收集整理的Python 网络爬虫笔记9 -- Scrapy爬虫框架的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。