Scrapy 常用的shell執行命令


1、在任意系統下,可以使用 pip 安裝 Scrapy

pip install scrapy/

確認安裝成功

>>> import scrapy >>> scrapy.version_info (1, 5, 1 )






可以看到 scrapy 的一些命令
$ scrapy

E:\data\job\job>scrapy
Scrapy 1.6.0 - project: job

Usage:
scrapy <command> [options] [args]

Available commands:
bench Run quick benchmark test
check Check spider contracts
crawl Run a spider
edit Edit spider
fetch Fetch a URL using the Scrapy downloader
genspider Generate new spider using pre-defined templates
list List available spiders
parse Parse URL (using its spider) and print the results
runspider Run a self-contained spider (without creating a project)
settings Get settings values
shell Interactive scraping console
startproject Create new project
version Print Scrapy version
view Open URL in browser, as seen by Scrapy

Use "scrapy <command> -h" to see more info about a command

通過上面的兩項檢測,說明 Scrapy 安裝成功了

 

 

2、創建一個 Scrapy 項目

  在shell中使用 scrapy startproject命令:

scrapy startproject job

 

  創建好的爬蟲的項目目錄文件如下所示

  (通常我們不需要手工創建 Spider 文件以及 Spider 類,可以使用 scrapy genspider <SPIDER_NAME> <DOMAIN>命令生成(根鋸模板)它們,該命令的兩個參數分別是 Spider 的名字和多要爬取的預(網站))

$ cd job
$ scrapy genspider books books.toscrape.com

運行后,scrapy genspider 命令創建了文件 job/spider/books.py,並在其中創建了一個BooksSpider 類,代碼如下:

# -*-coding: utf-8 -*-
import scrapy

cclass BooksSpider(scrapy.Spider):
    
    name = 'books'
    allowed_domains = ['books.toscrape.com']
    start_urls = ['http://books.toscrapy.com/']


    def parse(self, response):
        pass

 

1、分析頁面

  (1)數據信息

  (2)鏈接信息

 2、實現Spider

  實現爬蟲的 Python 文件應位於 job/spiders 目錄下,在該目錄下新建文件 51job.py 

  (1)提取數據

  (2)提取鏈接

3、對 Spider 的實現做簡單的說明

  (1) name 屬性

    一個 Scrapy 醒目中可能有多個爬蟲,每個爬蟲的 name 屬性是其自身的唯一標示,在一個項目中不能有同名的爬蟲,例如 取名為 “books”

  (2)start_url 屬性

    一個爬蟲總要從某個(或某些)頁面開始爬取,我們成這樣的頁面為其實爬取點,start_url 屬性用來設置一個爬蟲的其實爬取點。比如:“http://books.toscraper.com”.

  (3)parse 方法

    當一個頁面下載完畢之后,Scrapy 引擎會回調一個我們指定的頁面解析函數(默認為 parse 方法)解析頁面,一個頁面解析韓式同常需要完成以下兩個任務:
    <1> 提取頁面中的數據 (使用 XPath 或者 CSS 選擇器)

    <2> 提取頁面中的鏈接,並產生對鏈接頁面的下載請求。

  頁面解析函數通常被實現為一個生成器函數,每一項從頁面中提取的數據以及每一個鏈接頁面的下載請求都由 yield 語句提交給 Scraoy 引擎

 

 

 

運行爬蟲

在 shell 中執行 scrapy crawl <Spider_Name> 命令運行爬蟲'books',並將爬取的數據存儲到 csv 文件中:

scrapy crawl books -o books.csv

 

在進行頁面分析時,除了之前使用過的 Chrome 開發者工具之外,另一種常用的工具是

scrapy shell <URL>

他使用戶可以再交互式命令下操作一個 Scrapy 爬蟲,通常我們使用該工具進行前期爬取實驗,從而提高開發效率

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM