scrapy 没有界面,需要命令行来操作。

非常简单,总共也就十四五个命令,分为全局命令和项目命令。

全局命令

在哪都能用

常用命令

scrapy startproject name    创建项目/工程
scrapy genspider taobao taobao.com 创建爬虫

不太常用

查看爬虫配置/参数
scrapy settings --get DOWNLOAD_DELAY 下载延迟
scrapy settings --get BOT_NAME 爬虫名字
## 在项目运行时,输出项目设定值,否则输出 scrapy 的默认值,所以他既是全局命令,也是项目命令 启动爬虫
scrapy runspider scrapy_cn.py 执行爬虫脚本
scrapy crawl spider [这个也是启动爬虫,是项目命令,需要创建工程] 下载源码
# 看看有没有异步之类的
scrapy fetch https://hao.360.com/?llqxqd
scrapy fetch https://hao.360.com/?llqxqd >E:/3.html 下载并保存源码(WINDOWS)
scrapy view https://hao.360.com/?llqxqd 下载并直接用浏览器打开 shell 工具
scrapy shell https://hao.360.com/?llqxqd 版本查看
scrapy version

scrapy bench 用于 benchmark 测试,测试 scrapy 在硬件上的效率。

项目命令

在项目目录才能用

scrapy crawl  spider         启动爬虫(需要进入app目录)
scrapy check 检测爬虫
scrapy list 显示有多少爬虫(以name为准)

命令行参数

为了增强scrapy的灵活性,在命令行中可以设置参数,这使得构建好的爬虫能够执行不同的任务。

实例代码

def start_requests(self):
url = 'http://lab.scrapyd.cn/'
tag = getattr(self, 'tag', None) # 获取tag值,也就是爬取时传过来的参数
if tag is not None:         # 判断是否存在tag,若存在,重新构造url
url = url + 'tag/' + tag    # 构造url若tag=爱情,url= "http://lab.scrapyd.cn/tag/爱情"
yield scrapy.Request(url, self.parse)

命令行参数设置

scrapy crawl argsSpider -a tag=爱情

还有很多其他参数,不太常用,具体请百度。

Scrapy 教程(四)-命令的更多相关文章

  1. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(四)-使用Travis自动部署Hexo(2)

    前言 前面一篇文章介绍了Travis自动部署Hexo的常规使用教程,也是个人比较推荐的方法. 前文最后也提到了在Windows系统中可能会有一些小问题,为了在Windows系统中也可以实现使用Trav ...

  2. TFS(Team Foundation Server)敏捷使用教程(四):工作项跟踪(1)

    工作项跟踪(1) 可跟踪性是软件过程的重要能力,TFS主要是以工作项来实现过程的可跟踪性.曾有人问:"你们实际项目里的工作项是怎么样的?能不能让我们看看?"我也一直很好奇别的公司T ...

  3. Laravel教程 四:数据库和Eloquent

    Laravel教程 四:数据库和Eloquent 此文章为原创文章,未经同意,禁止转载. Eloquent Database 上一篇写了一些Laravel Blade的基本用法和给视图传递变量的几种方 ...

  4. Scrapy的shell命令(转)

    scrapy python MrZONT                        2015年08月29日发布                                            ...

  5. webpack4 系列教程(四): 单页面解决方案--代码分割和懒加载

    本节课讲解webpack4打包单页应用过程中的代码分割和代码懒加载.不同于多页面应用的提取公共代码,单页面的代码分割和懒加载不是通过webpack配置来实现的,而是通过webpack的写法和内置函数实 ...

  6. 【转帖】Systemd 入门教程:命令篇

    Systemd 入门教程:命令篇  Copy From http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html 感觉 ...

  7. Miniconda安装scrapy教程

    一.背景说明 前两天想重新研究下Scrapy,当时的环境是PyCharm社区版+Python 3.7.使用pip安装一直报错 “distutils.errors.DistutilsPlatformEr ...

  8. Python爬虫框架Scrapy教程(1)—入门

    最近实验室的项目中有一个需求是这样的,需要爬取若干个(数目不小)网站发布的文章元数据(标题.时间.正文等).问题是这些网站都很老旧和小众,当然也不可能遵守 Microdata 这类标准.这时候所有网页 ...

  9. Scrapy教程

    Scrapy教程 原文地址https://doc.scrapy.org/en/latest/intro/tutorial.html 此教程我们假设你已经装好了Scrapy,如果没有请查看安装指南.. ...

随机推荐

  1. 设计模式来替代if-else

    前言# 物流行业中,通常会涉及到EDI报文(XML格式文件)传输和回执接收,每发送一份EDI报文,后续都会收到与之关联的回执(标识该数据在第三方系统中的流转状态).这里枚举几种回执类型:MT1101. ...

  2. HTML5测试(二)

    HTML5测试(四) 1.input 元素中,下列哪个类型属性定义了输入电话号码的控件? A.mob B.tel C.mobile D.telephone 答案:B 具有 type 属性的 input ...

  3. 01-scrapy框架

    1.Scrapy图例: Scrapy Engine(引擎): 负责Spider.ItemPipeline.Downloader.Scheduler中间的通讯,信号.数据传递等. Scheduler(调 ...

  4. 使用ThreadPoolTaskScheduler动态修改调度时间

    用SchedulingConfigurer接口只能统一修改,要分开控制的话有多少个job就要有多少个实现.比较麻烦 配置线程池ThreadPoolTaskScheduler @Configuratio ...

  5. week3 作业

    1.Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示. 1.1 创建文件 touch FILE mkdir DIR mkdir -p DIR1/DIR2/DIR3/ 递归创建子目 ...

  6. [BZOJ2791]:[Poi2012]Rendezvous(塔尖+倍增LCA)

    题目传送门 题目描述 给定一个有n个顶点的有向图,每个顶点有且仅有一条出边.每次询问给出两个顶点${a}_{i}$和${b}_{i}$​​,求满足以下条件的${x}_{i}$和${y}_{i}$:   ...

  7. java-String与Integer的相互转化

    一.Integer转String //方法一:Integer类的静态方法toString() Integer a = 2; String str = Integer.toString(a)   //方 ...

  8. 《Effective Java》读书笔记 - 3.对于所有对象都通用的方法

    Chapter 3 Methods Common to All Objects Item 8: Obey the general contract when overriding equals 以下几 ...

  9. spring boot中使用ehcache

    1在启动类上使用注解 @SpringBootApplication @EnableCaching public class ConfApplication { ...... } 2在resources ...

  10. modern php笔记---php (性状)

    modern php笔记---php (性状) 一.总结 一句话总结: trait是和继承一个层次的东西 一个类use MyTrait;后,trait中的方法覆盖父类方法,当前类中的方法覆盖trait ...