Scrapy命令行工具
Scrapy通过控制 scrapy 命令行工具,Scrapy工具提供了多个命令,用于多种目的,每个命令接受一组不同的参数和选项。
可用工具命令
scrapy command -h
您可以使用以下命令查看所有可用命令:
scrapy -h
有两种命令,一种是只从零碎项目(特定于项目的命令)内部工作的命令即项目命令,另一种是不使用活动零碎项目(全局命令)的命令,尽管从项目内部运行时它们的行为可能略有不同(因为它们将使用项目覆盖设置)。
全局命令:
- startproject
- genspider
- settings
- runspider
- shell
- fetch
- view
- version
仅Project的项目命令:
- crawl
- check
- list
- edit
- parse
全局命令
创建项目(startproject)
scrapy startproject myproject [project_dir]
#myproject : 自定义的项目名称
#project_dir : 自定义的项目根目录名称,如果不指定则跟myproject 的名称一样
实例:
scrapy startproject kuaidaili
scrapy command -h #command 是scrapy的可用命令,该语句用于查看command的参数
创建一个爬虫(genspider)
两步走:
1.cd project_dir #进入根目录的子目录,以便爬虫的创建
2.scrapy genspider [-t template] <name> <domain>
- [-t template] :可选项,可指定模板。
- name:必选项,指定爬虫的名称,此名词应该是在该目录下是唯一的且不能与myprojec项目同名
- domain:必选项,指定爬虫的域名.例:baidu.com
这只是一个基于预先定义的模板创建spider的快捷命令,但肯定不是创建spider的唯一方法。您可以自己创建蜘蛛源代码文件,而不是使用这个命令。
即用genspider创建的spider.py文件或直接在spider文件夹中创键spider.py文件
设置(setting)
scrapy settings [options]
作用:获取 Scrapy 设置的值。 如果在项目中使用,它将显示项目设置值,否则它将显示该设置的默认 Scrapy 值。
示例用法:
>>>scrapy settings --get BOT_NAME
scrapybot
>>>scrapy settings --get DOWNLOAD_DELAY
0
运行蜘蛛(runspider)
scrapy runspider <spider_file.py>
作用:运行一个包含在python文件中的spider,而不必创建一个项目。
壳(shell)
scrapy shell [url]
作用:为给定的URL(如果给定)启动scrapy shell;如果没有给定URL,则为空。还支持Unix风格的本地文件路径,无论是相对于 ./ 或 …/ 前缀或绝对文件路径或远程URL。
另解:shell用于测试xpath或css表达式,并查看它们是如何工作的,以及它们从您试图抓取的网页中提取的数据。它允许您在编写spider时交互地测试表达式,而不必运行spider来测试每个更改。
一旦你熟悉了 Scrapy Shell,你就会发现它是开发和调试蜘蛛的宝贵工具。
scrapy shell www.baidu.com
详细用法请关注:https://www.cnblogs.com/songzhixue/p/11331141.html
取来(fetch)
scrapy fetch <url>
#使用ScrapyDownloader下载给定的URL,并将内容写入标准输出
#2如果在项目之外使用,则不会应用特定的每蜘蛛行为,它只会使用默认的scrapy下载器设置。
- spider=SPIDER :绕过Spider自动检测并强制使用特定Spider
- headers :打印响应的HTTP头而不是响应的正文
- no-redirect :不遵循HTTP 3xx重定向(默认为遵循它们)有些网站自动重定向可以使用这个参数
- nolog 不会打印scrapy日志
看法(view)
scrapy view <url>
作用:在浏览器中打开给定的URL,因为您的废蜘蛛会“看到”它。有时候蜘蛛看到的页面与普通用户不同,所以这可以用来检查蜘蛛“看到”什么,并确认它是你所期望的。
例如:
scrapy view https://www.baidu.com
#浏览器自动打开此url的页面
版本(version)
scrapy version [-v]
#查看scrapy的版本信息或scrapy相关库的详细信息
项目命令
运行(crawl)
scrapy crawl <spider>
作用:启用已经写好的爬虫
检查(check)
scrapy check [-l] <spider>
作用:运行合同检查,检查项目是否存在错误
列表(list)
scrapy list
作用:输入该项目中可用的蜘蛛(爬虫程序),并且每行输出一个蜘蛛名称,如果该项目中没有蜘蛛则返回
编辑(edit)
scrapy edit <spider>
作用:使用设置中编辑器设定的编辑器编辑指定的spider,若编辑器没有设定,则Unix系统默认为vi,windows默认为 IDLE编辑器。
解析(parse)
scrapy parse <url> [options]
作用:得到指定的url并进行处理
- spider=SPIDER :绕过Spider自动检测并强制使用特定Spider
- a NAME=VALUE :setspider参数(可以重复)设置传递给scrapy的参数
- callback 或 -c :用于解析response响应的回调的spider方法
- pipelines:通过管道处理项目即处理pipeline模块
- rules 或 -r 如果要使用CrawlSpider 发现用于解析response响应的回调(即spider方法)的规则
- noitems:不显示爬取的项目
- nolinks :不显示提取的链接
- nocolour :避免使用Pygments对输出着色
- depth 或 -d:应递归执行请求的深度级别(默认值
- verbose 或 -v :显示每个深度级别的信息
- output 或 -o :将刮取的项目转储到文件