【Scrapy 框架翻译】命令行工具(Command line tool)详解篇

版本号:Scrapy 2.4

文章目录

内容介绍

Scrapy工具提供的每个命令都接受一组不同的参数和选项。可以使用命令行完成对应设置内容。

配置设置

每个scrapy项目下都会生成一个scrapy.cfg配置文件,这部分内容自动生成不需要进行操作,未来配置一下项目中可能会进行调整。
【Scrapy 框架翻译】命令行工具(Command line tool)详解篇

Scrapy项目的默认结构

使用命令行创建目录

scrapy startproject myproject

默认生成目录结构
【Scrapy 框架翻译】命令行工具(Command line tool)详解篇
根目录下的 scrapy.cfg 默认生成,包含设置中的配置模块
【Scrapy 框架翻译】命令行工具(Command line tool)详解篇

在项目之间共享根目录

多个项目可以共享 scrapy.cfg 但是要设置项目需要settings

【Scrapy 框架翻译】命令行工具(Command line tool)详解篇
默认使用default设置,可以使用命令行进行修改。

export SCRAPY_PROJECT=project2
scrapy settings --get BOT_NAME

Scrapy的工具

命令汇总

scrapy -h  # 查看所有可用命令
scrapy <command> -h  # 查看对应命令的帮助

全局命令:
startproject:scrapy startproject <project_name> [project_dir]  # 创建项目
genspider:scrapy genspider [-t template] <name> <domain>  # 创建新的Spider
settings:scrapy settings [options]  # 获取配置
runspider:scrapy runspider <spider_file.py>  # 运行Python文件里的Spider,不需要创建项目
shell:scrapy shell [url]  # 启动Scrapy交互终端,可用于调试
fetch:scrapy fetch <url>  # 使用Scrapy下载器下载给定的URL,并将获取的内容送到标准输出
view:scrapy view <url>  # 浏览器中打开URL
version:scrapy version [-v]  # 打印版本

项目命令:
crawl:scrapy crawl <spider>  # 使用spider进行爬取
check:scrapy check [-l] <spider>  # 运行contract检查
list:scrapy list  # 列出当前项目可用的所有spider
edit:scrapy edit <spider>  # 使用EDITOR环境变量中设定的编辑器编辑spider
parse:scrapy parse <url> [options]  # 获取给定的URL并使用spider分析处理
bench:scrapy bench  # 运行benchmark测试

全局命令

  1. startproject 创建项目
# 基础语法
scrapy startproject <project_name> [project_dir]
# 创建一个名称为myproject的项目
scrapy startproject myproject
  1. genspider 创建蜘蛛spider
# 基础语法
scrapy genspider [-t template] <name> <domain>
# 创建一个名称为myspider的根蜘蛛 就是爬虫文件
cd [project_dir]

scrapy myspider mydomain.com  # 创建一个新的含作用域的Spider
或
scrapy myspider " "  # 创建一个新的不含作用域的Spider
  1. fetch 输出打印页面内容
# 基础语法
scrapy fetch <url>
# 输出内容举例
scrapy fetch --nolog http://xxxxx.com/xxx.html
  1. view 浏览器打开url
# 基础语法
scrapy view <url>
# 输出内容举例
scrapy view --nolog http://xxxxx.com/xxx.html
  1. shell 终端调试
# 基础语法
scrapy shell <url>
# 输出内容举例,调试命令
scrapy shell http://xxxxx.com/xxx.html

【Scrapy 框架翻译】命令行工具(Command line tool)详解篇
6. settings 获取配置信息

# 基础语法
scrapy settings [options]
# 获取配置文件设置信息,鸡肋 直接打开文件看就行了
scrapy settings --get BOT_NAME
scrapy settings --get DOWNLOAD_DELAY
  1. runspider 直接执行spider文件
# 基础语法
scrapy runspider <spider_file.py> 
scrapy runspider myspider.py
  1. version 打印版本
# 基础语法
scrapy version [-v] 
scrapy version

项目命令

  1. crawl 执行爬虫spider文件
# 基础语法
scrapy crawl <spider>
# 执行创建好的myspider文件
scrapy crawl myspider
  1. check 合同检查
# 基础语法
scrapy check [-l] <spider> 
# 执行创建好的myspider文件
scrapy check -l myspider
  1. list spider列表
# 基础语法
scrapy list
# 打印项目中的全部spider文件
scrapy list
  1. edit 编辑spider
# 基础语法
scrapy edit <spider>
# 编辑spider文件,很鸡肋直接用IDE
scrapy edit myspider
  1. parse 解析页面
# 基础语法
scrapy parse <url> [options]  # 使用spider分析处理
# options参数说明
--spider=SPIDER*绕过蜘蛛自动检测和强制使用特定蜘蛛
--a NAME=VALUE设置蜘蛛参数(可以重复)
--callback或-c:用作解析响应的回调的Spider方法
--meta或-m::将传递给回调请求的其他请求元。这必须是一个有效的json字符串。示例:-meta=‘{“foo:”bar“}’
--cbkwargs::将传递给回调的其他关键字参数。这必须是一个有效的json字符串。示例:-cbkwargs=‘{“foo:”bar“}’
--pipelines*通过管道处理项目
--rules或-r*使用CrawlSpider用于解析响应的回调规则(即蜘蛛方法)
--noitems::不要显示擦伤的物品
--nolinks*不要显示提取的链接
--nocolour*避免使用配色器对输出进行着色。
--depth或-d*应该递归跟踪请求的深度级别(缺省值:1)
--verbose或-v*显示每个水深级别的信息
--output或-o将刮过的项目转储到文件中
# 解析某个页面
scrapy parse http://xxxxx.com/xxx.html [-options]
  1. bench 运行benchmark测试
# 基础语法
scrapy bench
# 执行benchmark测试
scrapy bench
上一篇:【Scrapy 框架翻译】详解命令行工具(Command line tool)篇


下一篇:python-scrapy-中间件的学习