一、命令翻译
初学时执行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 myproject2. 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.org3.crawl
语法:scrapy crawl
含义:运行爬虫
scrapy crawl myspider4. 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..45. list
语法:scrapy list
含义:列举出当前项目的爬虫
$ scrapy list spider1 spider26. edit
语法:scrapy edit
含义:编辑爬虫代码,实际上就是vim模式,但是这种方式并不怎么好用,还不如用IDE去写爬虫
$ scrapy edit spider17. 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 012.runspider
语法:scrapy runspider
含义:运行一个含有爬虫的python文件,不需要是一个scrapy项目
$ scrapy runspider myspider.py [ ... spider starts crawling ... ]13.version
语法:scrapy version [-v]
含义:查看Scrapy版本
scrapy version Scrapy 1.6.014.bench
语法:scrapy bench
含义:测试电脑当前爬取速度性能
转载自:https://blog.csdn.net/qq_36547531/article/details/100102761