「Scrapy 爬虫框架」命令行工具(Command line tool)详解

深碍√TFBOYSˉ_ 2022-10-25 04:54 454阅读 0赞

文章目录

  • 内容介绍
  • 配置设置
  • Scrapy项目的默认结构
  • 在项目之间共享根目录
  • Scrapy的工具
    • 命令汇总
    • 全局命令
    • 项目命令

内容介绍

开发环境为 Python3.6,Scrapy 版本 2.4.x ,爬虫项目全部内容索引目录

看懂Python爬虫框架,所见即所得一切皆有可能

本章带你学习基于 Python3Scrapy 爬虫框架 中数据爬取过程中Scrapy工具提供的每个命令都接受一组不同的参数和选项。可以使用命令行完成对应设置内容。

代码内容基于「Scrapy 爬虫框架」源码版本 2.4.0 ,更新内容会进行标记说明对应版本。

配置设置

每个 scrapy 项目下都会生成一个 scrapy.cfg 配置文件,这部分内容自动生成不需要进行操作,未来配置一下项目中可能会进行调整。
在这里插入图片描述

Scrapy项目的默认结构

使用命令行创建目录

  1. scrapy startproject myproject

默认生成目录结构
在这里插入图片描述
根目录下的 scrapy.cfg 默认生成,包含设置中的配置模块
在这里插入图片描述

在项目之间共享根目录

多个项目可以共享 scrapy.cfg 但是要设置项目需要settings
在这里插入图片描述
默认使用default设置,可以使用命令行进行修改。

  1. export SCRAPY_PROJECT=project2
  2. scrapy settings --get BOT_NAME

Scrapy的工具

命令汇总

  1. scrapy -h # 查看所有可用命令
  2. scrapy <command> -h # 查看对应命令的帮助
  3. 全局命令:
  4. startprojectscrapy startproject <project_name> [project_dir] # 创建项目
  5. genspiderscrapy genspider [-t template] <name> <domain> # 创建新的Spider
  6. settingsscrapy settings [options] # 获取配置
  7. runspiderscrapy runspider <spider_file.py> # 运行Python文件里的Spider,不需要创建项目
  8. shellscrapy shell [url] # 启动Scrapy交互终端,可用于调试
  9. fetchscrapy fetch <url> # 使用Scrapy下载器下载给定的URL,并将获取的内容送到标准输出
  10. viewscrapy view <url> # 浏览器中打开URL
  11. versionscrapy version [-v] # 打印版本
  12. 项目命令:
  13. crawlscrapy crawl <spider> # 使用spider进行爬取
  14. checkscrapy check [-l] <spider> # 运行contract检查
  15. listscrapy list # 列出当前项目可用的所有spider
  16. editscrapy edit <spider> # 使用EDITOR环境变量中设定的编辑器编辑spider
  17. parsescrapy parse <url> [options] # 获取给定的URL并使用spider分析处理
  18. benchscrapy bench # 运行benchmark测试

全局命令

  • 1. startproject 创建项目

    基础语法

    scrapy startproject [project_dir]

    创建一个名称为myproject的项目

    scrapy startproject myproject

  • 2. genspider 创建蜘蛛spider

    基础语法

    scrapy genspider [-t template]

    创建一个名称为myspider的根蜘蛛 就是爬虫文件

    cd [project_dir]

    scrapy myspider mydomain.com # 创建一个新的含作用域的Spider

    scrapy myspider “ “ # 创建一个新的不含作用域的Spider

  • 3. fetch 输出打印页面内容

    基础语法

    scrapy fetch

    输出内容举例

    scrapy fetch —nolog http://xxxxx.com/xxx.html

  • 4. view 浏览器打开url

    基础语法

    scrapy view

    输出内容举例

    scrapy view —nolog http://xxxxx.com/xxx.html

  • 5. shell 终端调试

    基础语法

    scrapy shell

    输出内容举例,调试命令

    scrapy shell http://xxxxx.com/xxx.html

在这里插入图片描述

  • 6. settings 获取配置信息

    基础语法

    scrapy settings [options]

    获取配置文件设置信息,鸡肋 直接打开文件看就行了

    scrapy settings —get BOT_NAME
    scrapy settings —get DOWNLOAD_DELAY

  • 7. runspider 直接执行spider文件

    基础语法

    scrapy runspider

    scrapy runspider myspider.py

  • 8.version 打印版本

    基础语法

    scrapy version [-v]

    scrapy version

项目命令

  • 1. crawl 执行爬虫spider文件

    基础语法

    scrapy crawl

    执行创建好的myspider文件

    scrapy crawl myspider

  • 2. check 合同检查

    基础语法

    scrapy check [-l]

    执行创建好的myspider文件

    scrapy check -l myspider

  • 3. list spider列表

    基础语法

    scrapy list

    打印项目中的全部spider文件

    scrapy list

  • 4. edit 编辑spider

    基础语法

    scrapy edit

    编辑spider文件,很鸡肋直接用IDE

    scrapy edit myspider

  • 5. parse 解析页面

    基础语法

    scrapy parse [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]

  • 6. bench 运行benchmark测试

    基础语法

    scrapy bench

    执行benchmark测试

    scrapy bench

发表评论

表情:
评论列表 (有 0 条评论,454人围观)

还没有评论,来说两句吧...

相关阅读