16Python爬虫---Scrapy常用命令

常用命令
1、全局命令

全局命令即为不进入Scrapy爬虫项目所在目录的情况下,运行scrapy命令。运行scrapy -h,在commands下回出现所有的全局命令。分别为fetch、runspider、settings、shell、startproject、version、view。
其中bench命令比较特殊,虽然在Available commands中,但是仍然归为项目命令

(1)fetch命令

fetch命令主要用来显示爬虫爬取的过程
scrapy fetch http://mail.qq.com/
结果显示:
fetch
如果fetch命令在Scrapy项目中使用则会调用项目内的爬虫进行网页爬取,否则将使用Scrapy默认的爬虫进行网页的爬取。
scrapy fetch --headers --nolog http://news.sina.com.cn/

参数作用
–headers参数控制显示对应的爬虫爬取网页时候的头信息
–nolog参数来控制不显示日志信息
–spider=SPIDER参数来控制使用哪个爬虫
–logfile=FILE参数来制定存储日志信息的文件
– loglevel=LEVEL参数控制日志等级

结果:
fetchnolog

(2)runspider命令

runspider可以不再项目内执行直接运行一个爬虫文件
首先编写一个爬虫文件:first.py

# -*- coding: utf-8 -*-
from scrapy.spider import Spider

class FirstSpider(Spider):
    name = "first"
    allowed_domains = ["baidu.com"]
    start_url = [
        "www.baidu.com",
    ]

    def parse(self, response):
        pass

然后通过runspider命令执行爬虫文件
scrapy runspider --loglevel=INFO first.py
结果:
runspider
可以看到runspider可以不依靠scrapy项目的情况下完成该爬虫文件的运行。

(3)settings命令

通过settings命令可以查看scrapy项目配置或者在项目外查看scrapy默认的配置。
settings

(4)shell命令

通过shell命令可以启动Scrapy的交互终端(Scrapy shell)
Scrapy的交互终端经常在开发以及调试的时候用到,使用Scrapy的交互终端可以实现在不启动Scrapy爬虫的情况下,对网站响应进行调试,同样,在该终端中,我们也可以写一些Python代码进行测试。
scrapy shell http://www.baidu.com --nolog
在执行该命令后,出现”>>>”后可以输入交互命令及相应的代码。该交互模式中,可以使用XPath表达式等。
例如:
ti=sel.xpath("/html/head/title")
print(ti)
shell

(5)startproject命令

创建Scrapy项目

(6)version命令

通过version命令,可以直接显示Scrapy的版本相关信息。
version

(7)view命令

通过view命令我们可以实现下载某个网页并用浏览器查看的功能。
scrapy view http://news.163.com
执行该命令后,会自动打开浏览器并展示已下载到本地的页面。

2、项目中使用命令

Scrapy项目命令需要基于Scrapy爬虫项目才可以使用。scrapy -h查看在项目中可用的命令
Scrapy项目命令主要有:bench、check、crawl、edit、genspider、list、parse

(1)Bench命令

使用bench命令可以测试本地硬件的性能
scrapy bench
这里写图片描述
测试结果每分钟大约能爬2820个网页。这只是一个参考标准,在实际运行爬虫项目,会忧郁各种因素导致速度不同。一般来说,可以根据实际运行的速度与该参考速度进行对比结果,从而对爬虫项目进行优化和改进。

(2)Genspider

使用genspider命令来创建Scrapy爬虫文件,这是一种快速创建爬虫文件的方式。
scrapy genspider -l该命令的-l参数来查看当前可以使用的爬虫模板,当前可使用的爬虫模板有basic、crawl、csvfeed、xmlfeed
genspider
可以基于其中的任意一个爬虫模板来生成一个爬虫文件。
scrapy genspider t 模板新爬虫名新爬虫爬取的域名
例如:scrapy genspider -t basic bangbing www.baidu.com
genspider1
执行后,成功基于basic爬虫模板创建了一个新的爬虫文件bangbing,定义爬取的UI名为www.baidu.com,在该项目的对应爬虫文件夹下,可以发现新爬虫文件bangbing.py。
genspider2
scrapy genspider -d csvfeed
可以查看csvfeed爬虫模板中的内容。
genspider3
genspider4

(3)Check命令

Scrapy中使用合同的方式对爬虫进行测试。
scrapy check 爬虫名
check
该爬虫文件的合同检查通过,显示结果为OK

(4)Crawl命令

通过命令crawl命令来启动某个爬虫,启动格式scrapy crawl 爬虫名
例如:启动bangbing中的bangbing爬虫,启动命令结果如下。
这里写图片描述
**crawl后面跟的爬虫名而不是爬虫项目

(5)List命令

列出当前可使用的爬虫文件,必须在Scrapy项目中
这里写图片描述

(6)Edit

通过Scrapy中Edit命令,可以直接打开对应编辑器对爬虫文件进行编辑。此处在windows中执行,有问题,就不演示了,适用于linux中。

(7)Parse

可以实现获取制定的URL网址,并使用对应对的爬虫文件进行处理和分析。
scrapy parse http://www.baidu.com
parse
scrapy parse -h查看parse命令拥有哪些参数
parse -h
参数大致分为两类:普通参数(Options)和全局参数(Global Options),此处我们只看普通参数,全局参数在上一节中介绍过了。

参数含义
–spider=SPIDER强行制定某个爬虫文件spider进行处理
-a NAME=VALUE设置spider的参数,可能会重复
–piplines通过piplines来处理items
–nolinks不展示提取到的链接信息
–noitems不展示得到的items
–nocolor输出结果颜色不高亮
–rules,-r使用CrawlSpider规则去处理回调函数
–callback=CALLBACK,-c CALLBACK制定spider中用于处理返回的响应的回调函数
–depth=DEPTH,-d DEPTH设置爬行深度,默认深度为1
–verbose,-v显示每层的详细信息

例如:想制定某个爬虫文件进行处理,可以通过上面的“–spider=SPIDER”参数实现。
`scrapy paese http://baidu.com –spider=bangbing’ –nolog
paese

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值