本文记录scrapy command中常用命令,所有命令来自scrapy官方文档
创建项目(creating projects)
scrapy startproject myproject[project_dir]
将会创建一个scrapy项目在project_dir目录下,如果project_dir没有写出,则汇创建一个与项目同名的文件夹
之后进入新项目目录
cd project_dir
创建spider
scrapy genspider mydomain mydomain.com
scrapy genspider mydomain mydomain.com
scrapy genspider -t crawl scrapyorg scrapy.org
查看所有可用命令
scrapy -h
crawl
项目内命令
scrapy crawl <spider>
list
项目内命令
scrapy list
fetch
不需要在项目内
按照scrapy downloader的方式下载url内容
如果在项目外运行,按照默认的scrpy downloader设置下载
支持的选项
–spider = SPIDER:使用特定spider
–headers:打印response头代替response内容
–no-redirect:不进行重定向请求
scrapy fetch --nolog http://www.example.com/some/page.html
scrapy fetch --nolog --headers http://www.example.com/
view
不需要在项目内
可选命令
在浏览器中打开给定的URL,并以Scrapy spider获取到的形式展现。 有些时候spider获取到的页面和普通用户看到的并不相同。 因此该命令可以用来检查spider所获取到的页面,并确认这是您所期望的。
–spider=Spider:使用特定spider
–no-redirect:不进行重定向请求
scrapy view http://www.example.com/some/page.html
shell
scrapy shell [url]
获取更多信息
scrapy shell http://www.example.com/some/page.html
scrapy shell --nolog http://www.example.com/ -c '(response.status,response.url)'
# you can disable this with --no-redirect
# (only for the URL passed as command line argument)
scrapy shell --no-redirect --nolog http://httpbin.org/redirect-to?url=http%3A%2F%2Fexample.com%2F -c '(response.status, response.url)'
parse
语法:scrapy parse <url> [options]
是否需要项目: yes
获取给定的URL并使用相应的spider分析处理。如果您提供 –callback 选项,则使用spider的该方法处理,否则使用 parse 。
支持的选项:
–spider=SPIDER: 跳过自动检测spider并强制使用特定的spider
–a NAME=VALUE: 设置spider的参数(可能被重复)
–callback or -c: spider中用于解析返回(response)的回调函数
–pipelines: 在pipeline中处理item
–rules or -r: 使用 CrawlSpider 规则来发现用来解析返回(response)的回调函数
–noitems: 不显示爬取到的item
–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': u'Example item',
'category': u'Furniture',
'length': u'12 cm'}]
# Requests -----------------------------------------------------------------
[]