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 算法 排序实现快速排序
Jun 05 Python
Python使用zip合并相邻列表项的方法示例
Mar 17 Python
Python3实现爬取指定百度贴吧页面并保存页面数据生成本地文档的方法
Apr 22 Python
Python利用Django如何写restful api接口详解
Jun 08 Python
Python实现曲线拟合操作示例【基于numpy,scipy,matplotlib库】
Jul 12 Python
解决Python3中的中文字符编码的问题
Jul 18 Python
详解Python 定时框架 Apscheduler原理及安装过程
Jun 14 Python
Python PyQt5 Pycharm 环境搭建及配置详解(图文教程)
Jul 16 Python
Tensorflow实现酸奶销量预测分析
Jul 19 Python
python的sys.path模块路径添加方式
Mar 09 Python
Python实现哲学家就餐问题实例代码
Nov 09 Python
python 实现百度网盘非会员上传超过500个文件的方法
Jan 07 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
PHPLog php 程序调试追踪工具
2009/09/09 PHP
php程序之die调试法 快速解决错误
2009/09/17 PHP
php MessagePack介绍
2013/10/06 PHP
php获取访问者IP地址汇总
2015/04/24 PHP
php判断当前操作系统类型
2015/10/28 PHP
php利用ZipArchive类操作文件的实例
2020/01/21 PHP
javascript 实现简单的table排序及table操作练习
2012/12/28 Javascript
js网页中的(运行代码)功能实现思路
2013/02/04 Javascript
select、radio表单回显功能实现避免使用jquery载入赋值
2013/06/08 Javascript
自己动手手写jQuery插件总结
2015/01/20 Javascript
Javascript中的几种URL编码方法比较
2015/01/23 Javascript
drag-and-drop实现图片浏览器预览
2015/08/06 Javascript
百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系之间的转换
2016/02/19 Javascript
全面解析Bootstrap布局组件应用
2016/02/22 Javascript
json传值以及ajax接收详解
2016/05/24 Javascript
jQuery获取table行数并输出单元格内容的实现方法
2016/06/30 Javascript
Bootstrap 3 进度条的实现
2017/02/22 Javascript
js鼠标跟随运动效果
2017/03/11 Javascript
Vue切换Tab动态渲染组件的操作
2020/09/21 Javascript
vue实现拖拽进度条
2021/03/01 Vue.js
Python import自定义模块方法
2015/02/12 Python
对命令行模式与python交互模式介绍
2018/05/12 Python
django+echart绘制曲线图的方法示例
2018/11/26 Python
Python实现读取txt文件中的数据并绘制出图形操作示例
2019/02/26 Python
python笔记_将循环内容在一行输出的方法
2019/08/08 Python
python使用matplotlib绘制雷达图
2019/10/18 Python
Python使用pymysql模块操作mysql增删改查实例分析
2019/12/19 Python
Python实现括号匹配方法详解
2020/02/10 Python
python操作微信自动发消息的实现(微信聊天机器人)
2020/07/14 Python
如何在mac版pycharm选择python版本
2020/07/21 Python
现代生活方式的家具和装饰:Dot & Bo
2018/12/26 全球购物
C#软件工程师英语面试题
2015/06/07 面试题
习总书记三严三实学习心得体会
2014/10/13 职场文书
2014年电厂工作总结
2014/12/04 职场文书
中班下学期个人工作总结
2015/02/12 职场文书
长辈生日祝福语大全(72句)
2019/08/09 职场文书