一、全局命令(cmd中输入scrapy -h查看)
startproject
settings
runspider
shell
fetch
view
version
bench
常用最多的几个命令是startproject、shell、view、version。
创建项目命令
语法:scrapy startproject <project_name>
前置条件:项目不需要存在
示例:scrapy startproject TestDemo001
创建一个shell环境调试response的命令
语法:scrapy shell <url>
前置条件:项目不需要存在
示例:scrapy shell "http://www.yetianlian.com/"
打开cmd命令窗口,运行该命令,(安装IPython的情况下默认启动IPython编辑器)如下图:
如果不想输出log可以使用这个命令:
scrapy shell --nolog "http://www.yetianlian.com/"
查看页面内容
语法:scrapy view <url>
前置条件:项目不需要存在
version—查看版本信息
语法:scrapy version [-v]
前置条件:项目不需要存在
settings—查看配置文件参数命令
语法:scrapy settings [options]
前置条件:项目不需要存在
示例:scrapy settings --get BOT_NAME
输出:scrapybot
显示settings中的具体设置的设定值
runspider 运行爬虫命令
语法:scrapy runspider <spider_file.py>
前置条件:项目不需要存在
示例:scrapy runspider ytl.py
未创建项目的情况下,运行一个编写好的spider模块
fetch 显示爬取过程
语法:scrapy fetch [url]
前置条件:项目存在/不存在均可
示例:scrapy fetch "http://www.yetianlian.com/"
命令其实是在标准输出中显示调用一个爬虫来爬取指定的url的全过程。
bench 硬件测试命令
语法:scrapy bench
前置条件:项目不需要存在
测试scrapy在硬件上运行的效率
二、项目命令
crawl
check
list
edit
parse
genspider
deploy
最常用的几个命令是crawl、genspider。
genspider—通过模板生成scrpay爬虫
查看scrapy genspider 的模板
命令:scrapy genspider -l
语法:scrapy genspider [-t template] <name> <domain>
前置条件:项目需要存在
展示basic模板的内容:scrapy genspider -d basic
示例:创建spider.py,命令:scrapy genspider -t basic ytl yetianlian.com
crawl—启动爬虫命令
语法:scrapy crawl <spider>
前置条件:项目需要存在
示例:scrapy crawl ytl
启动命名为ytl的爬虫(需要cd进入相应的文件目录下,运行该命令)
check—检查爬虫完整性
语法:scrapy check [-l] <spider>
前置条件:项目需要存在
示例:scrapy check ytl
检查一些语法、import和warning等错误
list—查看爬虫列表命令
语法:scrapy list
前置条件:项目需要存在
示例:scrapy list
查看一下这个项目里面目前有哪些爬虫
edit—编辑爬虫命令
语法:scrapy edit <spider>
前置条件:项目需要存在
示例:scrapy edit ytl
用设定的编辑器编辑给定的spider,该命令是提供一个快捷方式,开发者可以自由选择其他工具或者IDE来编写和调试spider。(Linux系统下)
parse—获取给定的URL使用相应的spider分析处理
语法:scrapy parse <url> [options]
前置条件:项目需要存在
示例:scrapy parse "http://www.yetianlian.com/" -c parse
如果提供–callbac选项,可以自动检测spider中的解析方法进行处理。支持以下的选项:
–spider=SPIDER: 没有指定spider的情况下其程序搜索,用这个选项可以强行指定某个spider
–a NAME=VALUE: 用来设定spider需要的参数,可以多个
–callback或-c: 指定spider里面用于处理response的函数,没有强行制定的话,默认使用parse函数
–pipelines:用来指定后续的pipelines,可以灵活定制
–rules或-r: 通过CrawlSpider设定的规则来选取对应的函数当作解析response的回调函数
–noitems: 不显示抓取的items
–nolinks: 不显示提取的链接
–nocolour: 输出的结果不要高亮显示(不建议用)
–depth或-d: 设置爬取深度,默认为1
–verbose或-v: 显示被爬取的每层的相关信息
deploy命令
语法:scrapy deploy [<target:project>|-l<target>|-L]
目的:将项目部署到scrapyd服务。
原文链接:https://blog.csdn.net/Gerald_Jones/article/details/78860754
网友评论