Python爬虫框架Scrapy常用命令总结


Posted in Python onJuly 26, 2018

本文实例讲述了Python爬虫框架Scrapy常用命令。分享给大家供大家参考,具体如下:

在Scrapy中,工具命令分为两种,一种为全局命令,一种为项目命令

全局命令不需要依靠Scrapy项目就可以在全局中直接运行,而项目命令必须要在Scrapy项目中才可以运行

全局命令

全局命令有哪些呢,要想了解在Scrapy中有哪些全局命令,可以在不进入Scrapy项目所在目录的情况下,运行scrapy-h,如图所示:

Python爬虫框架Scrapy常用命令总结

可以看到,此时在可用命令在终端下展示出了常见的全局命令,分别为fetchrunspidersettingsshellstartprojectversionview

fetch命令

fetch命令主要用来显示爬虫爬取的过程.如下图所示:

Python爬虫框架Scrapy常用命令总结

在使用fetch命令时,同样可以使用某些参数进行相应的控制。那么fetch有哪些相关参数可以使用呢?我们可以通过scrpy fetch -h列出所有可以使用的fetch相关参数。比如我们可以使用?headers显示头信息,也可以使用?nolog控制不显示日志信息,还可以使用?spider=SPIDER参数来控制使用哪个爬虫,通过?logfile=FILE指定存储日志信息的文件,通过?loglevel=LEVEL控制日志等级。举个栗子:

# 显示头信息,并且不显示日志信息
scrpay -fetch --headers --nolog http://www.baidu.com

sunspider命令

通过runspider命令可以不依托scrapy的爬虫项目,直接运行一个爬虫文件

# first.py为自定义的一个爬虫文件
scrapy runspider first.py

settings命令

在scrapy项目所在的目录中使用settings命令查看的使用对应的项目配置信息,如果在scrapy项目所在的目录外使用settings命令查看的Scrapy默认的配置信息

# 在项目中使用此命令打印的为BOT_NAME对应的值,即scrapy项目名称。
# 在项目外使用此命令打印的为scrapybot
scrapy settings --get BOT_NAME

shell命令

通过shell命令可以启动Scrapy的交互终端。

Scrapy的交互终端经常在开发以及调试的时候用到,使用Scrapy的交互终端可以实现在不启动Scrapy爬虫的情况下,对网站响应进行调试,同样,在该交互终端下,我们也可以写一些Python代码进行相应测试。

Python爬虫框架Scrapy常用命令总结

>>>后面可以输入交互命令以及相应的代码

startproject命令

用于创建scrapy项目

version命令

查看scrapy版本

view命令

用于下载某个网页,然后通过浏览器查看

项目命令

bench命令

测试本地硬件的性能

scrapy bench

genspider命令

用于创建爬虫文件,这是一种快速创建爬虫文件的方式。

# scrpay genspider -t 基本格式
# basic 模板
# baidu.com 爬取的域名
scrapy genspider -t basic xxx baidu.com

此时在spider文件夹下会生成一个以xxx命名的py文件。可以使用scrapy genspider -l查看所有可用爬虫模板。当前可用的爬虫模板有:basiccrawlcsvfeedxmlfeed

check命令

使用check命令可以实现对某个爬虫文件进行合同检查,即测试.

# xxx为爬虫名
scrapy check xxx

crawl命令

启动某个爬虫

# xxx为爬虫名
scrapy crawl xxx

list命令

列出当前可使用的爬虫文件

scrapy list

edit命令

编辑爬虫文件

scrapy edit xxx

parse命令

通过parse命令,我们可以实现获取指定的URL网址,并使用对应的爬虫文件进行处理和分析

日志等级

等级名 含义
CRITICAL 发生了最严重的错误
ERROR 发生了必须立即处理的错误
WARNING 出现了一些警告信息,即存在潜在错误
INFO 输出一些提示显示
DEBUG 输出一些调试信息

更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python正则表达式用法总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python处理cookie详解
Feb 07 Python
python中常用的九种预处理方法分享
Sep 11 Python
Python随机生成均匀分布在单位圆内的点代码示例
Nov 13 Python
python 实现判断ip连通性的方法总结
Apr 22 Python
对Tensorflow中权值和feature map的可视化详解
Jun 14 Python
从DataFrame中提取出Series或DataFrame对象的方法
Nov 10 Python
Python使用多进程运行含有任意个参数的函数
May 02 Python
基于python实现可视化生成二维码工具
Jul 08 Python
selenium学习教程之定位以及切换frame(iframe)
Jan 04 Python
python 实现定时任务的四种方式
Apr 01 Python
python基于turtle绘制几何图形
Jun 15 Python
详解Python+OpenCV进行基础的图像操作
Feb 15 Python
Python退火算法在高次方程的应用
Jul 26 #Python
Python爬虫框架Scrapy基本用法入门教程
Jul 26 #Python
Tensorflow 合并通道及加载子模型的方法
Jul 26 #Python
解决tensorflow测试模型时NotFoundError错误的问题
Jul 26 #Python
tensorflow 恢复指定层与不同层指定不同学习率的方法
Jul 26 #Python
kaggle+mnist实现手写字体识别
Jul 26 #Python
解决tensorflow模型参数保存和加载的问题
Jul 26 #Python
You might like
PHP网页游戏学习之Xnova(ogame)源码解读(八)
2014/06/23 PHP
详解PHP匿名函数与注意事项
2016/03/29 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
2017/07/20 PHP
PHP一个简单的无需刷新爬虫
2019/01/05 PHP
Laravel访问出错提示:`Warning: require(/vendor/autoload.php): failed to open stream: No such file or di解决方法
2019/04/02 PHP
List Information About the Binary Files Used by an Application
2007/06/18 Javascript
用jQuery技术实现Tab页界面之二
2009/09/21 Javascript
javascript淡入淡出效果的实现思路
2012/03/31 Javascript
通过location.replace禁止浏览器后退防止重复提交
2014/09/04 Javascript
当前流行的JavaScript代码风格指南
2014/09/10 Javascript
JavaScript实现经典排序算法之插入排序
2016/12/28 Javascript
JS异步文件上传(兼容IE8+)
2017/04/02 Javascript
快速将Vue项目升级到webpack3的方法步骤
2017/09/14 Javascript
jQuery实现checkbox的简单操作
2017/11/18 jQuery
element ui里dialog关闭后清除验证条件方法
2018/02/26 Javascript
vue路由导航守卫和请求拦截以及基于node的token认证的方法
2019/04/07 Javascript
Vue中遍历数组的新方法实例详解
2019/07/21 Javascript
js判断非127开头的IP地址的实例代码
2020/01/05 Javascript
原生js无缝轮播插件使用详解
2020/03/09 Javascript
JS 数组和对象的深拷贝操作示例
2020/06/06 Javascript
[01:06:54]DOTA2-DPC中国联赛 正赛 SAG vs DLG BO3 第二场 2月28日
2021/03/11 DOTA
centos6.7安装python2.7.11的具体方法
2017/01/16 Python
Python原始字符串与Unicode字符串操作符用法实例分析
2017/07/22 Python
Python列表(list)所有元素的同一操作解析
2019/08/01 Python
Python 取numpy数组的某几行某几列方法
2019/10/24 Python
django自定义非主键自增字段类型详解(auto increment field)
2020/03/30 Python
Python 3.9的到来到底是意味着什么
2020/10/14 Python
使用python tkinter开发一个爬取B站直播弹幕工具的实现代码
2021/02/07 Python
css3如何绘制一个圆圆的loading转圈动画
2018/01/09 HTML / CSS
2014年办公室个人工作总结
2014/11/12 职场文书
罚站检讨书
2015/01/29 职场文书
装修公司工程部经理岗位职责
2015/04/09 职场文书
2015年校医个人工作总结
2015/07/24 职场文书
2016年班主任新年寄语
2015/08/18 职场文书
2019年最新七夕唯美祝福语(60条)
2019/07/22 职场文书
教你快速构建一个基于nginx的web集群项目
2021/11/27 Servers