这篇文章主要是对的scrapy命令行使用的一个介绍

创建爬虫项目

scrapy startproject 项目名
例子如下:

localhost:spider zhaofan$ scrapy startproject test1
New Scrapy project 'test1', using template directory '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/scrapy/templates/project', created in:/Users/zhaofan/Documents/python_project/spider/test1You can start your first spider with:cd test1scrapy genspider example example.com
localhost:spider zhaofan$

这个时候爬虫的目录结构就已经创建完成了,目录结构如下:

|____scrapy.cfg
|____test1
| |______init__.py
| |____items.py
| |____middlewares.py
| |____pipelines.py
| |____settings.py
| |____spiders
| | |______init__.py

接着我们按照提示可以生成一个spider,这里以百度作为例子,生成spider的命令格式为;
scrapy genspider 爬虫名字 爬虫的网址

localhost:test1 zhaofan$ scrapy genspider baiduSpider baidu.com
Created spider 'baiduSpider' using template 'basic' in module:test1.spiders.baiduSpider
localhost:test1 zhaofan$ 

关于命令详细使用

命令的使用范围

这里的命令分为全局的命令和项目的命令,全局的命令表示可以在任何地方使用,而项目的命令只能在项目目录下使用

全局的命令有:
startproject
genspider
settings
runspider
shell
fetch
view
version

项目命令有:
crawl
check
list
edit
parse
bench

startproject
这个命令没什么过多的用法,就是在创建爬虫项目的时候用

genspider
用于生成爬虫,这里scrapy提供给我们不同的几种模板生成spider,默认用的是basic,我们可以通过命令查看所有的模板

localhost:test1 zhaofan$ scrapy genspider -l
Available templates:basiccrawlcsvfeedxmlfeed
localhost:test1 zhaofan$ 

当我们创建的时候可以指定模板,不指定默认用的basic,如果想要指定模板则通过
scrapy genspider -t 模板名字

localhost:test1 zhaofan$ scrapy genspider -t crawl zhihuspider zhihu.com
Created spider 'zhihuspider' using template 'crawl' in module:test1.spiders.zhihuspider
localhost:test1 zhaofan$ 

crawl

这个是用去启动spider爬虫格式为:
scrapy crawl 爬虫名字
这里需要注意这里的爬虫名字和通过scrapy genspider 生成爬虫的名字是一致的

check
用于检查代码是否有错误,scrapy check

list
scrapy list列出所有可用的爬虫

fetch
scrapy fetch url地址 
该命令会通过scrapy downloader 讲网页的源代码下载下来并显示出来

这里有一些参数:
--nolog 不打印日志
--headers 打印响应头信息
--no-redirect 不做跳转

view
scrapy view url地址
该命令会讲网页document内容下载下来,并且在浏览器显示出来

因为现在很多网站的数据都是通过ajax请求来加载的,这个时候直接通过requests请求是无法获取我们想要的数据,所以这个view命令可以帮助我们很好的判断

shell
这是一个命令行交互模式
通过scrapy shell url地址进入交互模式
这里我么可以通过css选择器以及xpath选择器获取我们想要的内容(xpath以及css选择的用法会在下个文章中详细说明),例如我们通过scrapy shell http://www.baidu.com

这里最后给我们返回一个response,这里的response就和我们通requests请求网页获取的数据是相同的。
view(response)会直接在浏览器显示结果
response.text 获取网页的文本
下图是css选择器的一个简单用法

settings
获取当前的配置信息
通过scrapy settings -h可以获取这个命令的所有帮助信息

localhost:jobboleSpider zhaofan$ scrapy settings -h
Usage
=====scrapy settings [options]Get settings valuesOptions
=======
--help, -h              show this help message and exit
--get=SETTING           print raw setting value
--getbool=SETTING       print setting value, interpreted as a boolean
--getint=SETTING        print setting value, interpreted as an integer
--getfloat=SETTING      print setting value, interpreted as a float
--getlist=SETTING       print setting value, interpreted as a listGlobal Options
--------------
--logfile=FILE          log file. if omitted stderr will be used
--loglevel=LEVEL, -L LEVELlog level (default: DEBUG)
--nolog                 disable logging completely
--profile=FILE          write python cProfile stats to FILE
--pidfile=FILE          write process ID to FILE
--set=NAME=VALUE, -s NAME=VALUEset/override setting (may be repeated)
--pdb                   enable pdb on failure

拿一个例子进行简单的演示:(这里是我的这个项目的settings配置文件中配置了数据库的相关信息,可以通过这种方式获取,如果没有获取的则为None)

localhost:jobboleSpider zhaofan$ scrapy settings --get=MYSQL_HOST
192.168.1.18
localhost:jobboleSpider zhaofan$ 

runspider
这个和通过crawl启动爬虫不同,这里是scrapy runspider 爬虫文件名称
所有的爬虫文件都是在项目目录下的spiders文件夹中

version
查看版本信息,并查看依赖库的信息

localhost:~ zhaofan$ scrapy version
Scrapy 1.3.2
localhost:~ zhaofan$ scrapy version -v
Scrapy    : 1.3.2
lxml      : 3.7.3.0
libxml2   : 2.9.4
cssselect : 1.0.1
parsel    : 1.1.0
w3lib     : 1.17.0
Twisted   : 17.1.0
Python    : 3.5.2 (v3.5.2:4def2a2901a5, Jun 26 2016, 10:47:25) - [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)]
pyOpenSSL : 16.2.0 (OpenSSL 1.0.2k  26 Jan 2017)
Platform  : Darwin-16.6.0-x86_64-i386-64bit

转载于:https://www.cnblogs.com/zhaof/p/7183220.html

Python爬虫从入门到放弃(十三)之 Scrapy框架的命令行详解相关推荐

  1. python的pytest模块:pytest命令行详解

    一.官方文档 How to invoke pytest - pytest documentationhttps://docs.pytest.org/en/latest/how-to/usage.htm ...

  2. Python爬虫新手入门教学(十三):爬取高质量超清壁纸

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. Python爬虫.数据分析.网站开发等案例教程视频免费在线观看 https://space. ...

  3. python爬虫从入门到放弃,含案例分析,超详细讲解(一)

    Python爬虫 1.认识爬虫 1.1.概述 网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者) 按照一定规律,自动地抓取万维网信息的程序或者脚本. 1.2.应用场景 ...

  4. Python爬虫从入门到放弃(十二)之 Scrapy框架的架构和原理

    原文地址https://www.cnblogs.com/zhaof/p/7173397.html 这一篇文章主要是为了对scrapy框架的工作流程以及各个组件功能的介绍 Scrapy目前已经可以很好的 ...

  5. Python爬虫从入门到放弃(十一)之 Scrapy框架整体的一个了解

    这里是通过爬取伯乐在线的全部文章为例子,让自己先对scrapy进行一个整理的理解 该例子中的详细代码会放到我的github地址:https://github.com/pythonsite/spider ...

  6. python爬虫从入门到放弃(一)初识爬虫

    在家里呆了几个月,重新拾起python爬虫,想着搞点东西(爱情电影)看看,发现爬虫真的是好开心. 网络爬虫是什么呢? 网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者) ...

  7. java启动scrapy爬虫,爬虫入门之Scrapy 框架基础功能(九)详解

    Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非 ...

  8. 数据分析利器Python——爬虫(含爬取过程、Scrapy框架介绍)

    文章目录 一.基础知识 1.定义 2.基本架构 二.URL管理模块 三.网页下载模块 Python中的requests模块 四.网页解析模块 1.结构化网页解析 2.BeautifulSoup使用步骤 ...

  9. python爬虫从入门到放弃(三)之 Urllib库的基本使用

    官方文档地址:https://docs.python.org/3/library/urllib.html 什么是Urllib Urllib是python内置的HTTP请求库 包括以下模块 urllib ...

最新文章

  1. AIR for IOS开发问题小结
  2. 云上效率提升指南 | K8S和Serverless还能这么玩
  3. Linux shell 条件判断if
  4. java接口的定义与实现实验报告,赶紧收藏备战金三银四!
  5. android locknow,java – Android DevicePolicyManager lockNow()
  6. 简化异常处理的Throwables类
  7. 【MFC开发(12)】图片框控件 Picture Control
  8. python math模块详解
  9. 使用Sencha cmd安装extjs6
  10. CentOS7 (精简操作指令)
  11. 国际象棋小麦python_python图形工具turtle绘制国际象棋棋盘
  12. openpyxl批量删除表格中的空白行,并处理数据样式
  13. PHP实现微信网页登陆授权开发
  14. 领导力包括哪些能力?如何提升领导力?
  15. Bootstrap-03 (前台开发框架)
  16. Win10打开文件夹闪退怎么解决
  17. 测试用例-------纸杯
  18. 云原生时代,企业如何选取研发模式,并通过云效流水线落地
  19. 【时序逻辑电路(sequential logic circuit)】
  20. 处理接口幂等性的两种常见方案

热门文章

  1. 最新成果!超越AlphaZero!DeepMind让AI制霸「元宇宙」
  2. CVPR2021 | 北航商汤耶鲁口头报告
  3. 腾讯PCG光影研究室招聘计算机视觉算法/实习生
  4. 收藏 | 人工智能与模式识别会议集锦
  5. 精选论文集:三维点云有哪些必读的论文?
  6. keras学习笔记-黑白照片自动着色的神经网络-Beta版
  7. directx修复工具v3.2增强版_微PE v2.0维护盘增强版万能启动盘20200726
  8. malloc开辟的空间在哪一个区间_专业指南 | 室内设计和空间设计区别,到底该选哪一个?...
  9. java串口编程程序_想成为程序员,学编程,Python、Go、Java、C++,你选什么?
  10. 远程桌面--------ms12-020 漏洞复现 (死亡蓝屏)