scrapy框架的基础命令

it2024-07-24  41

scrapy框架的基础命令

一、命令翻译

初学时执行scrapy命令一定要先查看一下scrapy的命令解释:

首先打开这个窗口(pycharm的左下角的Terminal选项)——在窗口里输入scrapy调出命令提示:我们可以在窗口中中间的红框可以看见还可以查看命令的具体帮助信息;

下面是将上面的英文进行翻译:

命令格式:

  scrapy <命令> [选项] [参数]

可用命令:

  bench           运行快速基准测试

  check           检查蜘蛛合同

  crawl            运行一个蜘蛛

  edit              编辑蜘蛛

  fetch            使用Scrapy下载器获取URL

  genspider    使用预定义的模板生成新的spider

  list                列出可用的蜘蛛

  parse           解析URL(使用其spider)并打印结果

  runspider     运行一个自包含的爬行器(不创建项目)

  settings        获取设置值

  shell             交互式刮控制台

  startproject   创建新项目

  version         打印Scrapy版本

  view             在浏览器中打开URL,如Scrapy所见

使用“scrapy <命令> -h”查看有关命令的更多信息

二、命令详解:

1. startproject

语法: scrapy startproject  [project_dir]

含义:创建一个新的Scrapy项目,名称为 project_name ,在project_dir目录下,如果目录不存在,那么目录就会变成项目名。

scrapy startproject myproject

2. genspider

语法:scrapy genspider [-t template]

含义:新建一个爬虫在当前文件夹或者在当前项目的爬虫文件夹中,如果是在一个项目当中,这个参数将被当成爬虫的名字,然而将会被用来创建爬虫里面的 allowed_domains 和start_urls的属性值

$ scrapy genspider -l        Available templates: 四种模板   basic   crawl   csvfeed   xmlfeed   $ cd myproject 首先,先进入到爬虫的项目里,在进行创建爬虫 $ scrapy genspider example example.com 创建example爬虫,并且默认使用basic模板   $ scrapy genspider -t crawl scrapyorg scrapy.org

3.crawl

语法:scrapy crawl 

含义:运行爬虫

scrapy crawl myspider

4. check

语法:scrapy check [-l] 

含义:运行contract检查,检查你项目中的错误之处。

$ scrapy check -l first_spider   * parse   * parse_item second_spider   * parse   * parse_item   $ scrapy check [FAILED] first_spider:parse_item >>> 'RetailPricex' field is missing   [FAILED] first_spider:parse >>> Returned 92 requests, expected 0..4

5. list

语法:scrapy list

含义:列举出当前项目的爬虫

$ scrapy list spider1 spider2

6. edit

语法:scrapy edit 

含义:编辑爬虫代码,实际上就是vim模式,但是这种方式并不怎么好用,还不如用IDE去写爬虫

$ scrapy edit spider1

7. fetch

语法:scrapy fetch 

含义:使用Scrapy下载器下载指定的URL,并将获得的内容输出,通俗的来说就是打印出网站的HTML源码。

$ scrapy fetch --nolog http://www.example.com/some/page.html [ ... html content here ... ]

8.view

语法:scrapy view

含义:在你的默认浏览器中打开给定的URL,并以Scrapy spider获取到的形式展现。 有些时候spider获取到的页面和普通用户看到的并不相同,一些动态加载的内容是看不到的, 因此该命令可以用来检查spider所获取到的页面。

$ scrapy view http://www.example.com/some/page.html [ ... browser starts ... ]

9.shell

语法:scrapy shell [url]

含义:启动Scrapy Shell 来打开url,可以进行一些测试

$ scrapy shell http://www.baidu.com [ ... scrapy shell starts ... ]

10. parse

语法:scrapy parse  [options]

含义:输出格式化内容

Supported options:

--spider=SPIDER: 自动检测爬虫、强制使用特定爬虫

--a NAME=VALUE: 设置爬虫的参数(可重复)

--callback or -c: 用作解析响应的回调的爬虫方法

--meta or -m: 传递给回调请求的附加请求元。必须是有效的JSON字符串。示例:–meta='“foo”:“bar”

--pipelines: 通过管道处理项目

--rules or -r: 使用crawlspider规则发现用于解析响应的回调(即spider方法)

--noitems: 不显示items

--nolinks: 不显示提取的链接

--nocolour: 避免使用Pygments对输出着色

--depth or -d: 递归执行请求的深度级别(默认值:1)

--verbose or -v: 显示每个深度级别的信息

$ scrapy parse http://www.example.com/ -c parse_item [ ... scrapy log lines crawling example.com spider ... ]   >>> STATUS DEPTH LEVEL 1 <<< # Scraped Items  ------------------------------------------------------------ [{'name': 'Example item',  'category': 'Furniture',  'length': '12 cm'}]   # Requests  ----------------------------------------------------------------- []

11.settings

语法:scrapy settings [options]

含义:拿到Scrapy里面的设置属性

$ scrapy settings --get BOT_NAME scrapybot $ scrapy settings --get DOWNLOAD_DELAY 0

12.runspider

语法:scrapy runspider 

含义:运行一个含有爬虫的python文件,不需要是一个scrapy项目

$ scrapy runspider myspider.py [ ... spider starts crawling ... ]

13.version

语法:scrapy version [-v]

含义:查看Scrapy版本

scrapy version Scrapy 1.6.0

14.bench

语法:scrapy bench

含义:测试电脑当前爬取速度性能

转载自:https://blog.csdn.net/qq_36547531/article/details/100102761


最新回复(0)