scrapy框架的命令解释

创建爬虫项目

scrapy startproject 项目名
例子如下:

scrapy startproject test1

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

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

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

scrapy genspider baiduSpider baidu.com

关于命令详细使用

命令的使用范围

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

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

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

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

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

scrapy genspider -l

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

$ scrapy genspider -t crawl zhihuspider zhihu.com

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可以获取这个命令的所有帮助信息

scrapy settings -h

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

scrapy settings --get=MYSQL_HOST

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

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

scrapy version
 

最新文章

  1. 定位form光标行
  2. ajax头像上传
  3. 优化win2d实现的萤火虫粒子效果
  4. Flash网站Loading制作
  5. uva12169 Disgruntled Judge
  6. Android基本控件之GridView
  7. html语言中的meta元素
  8. 标量类型(scalar)
  9. spring03autowire属性
  10. BZOJ2023: [Usaco2005 Nov]Ant Counting 数蚂蚁
  11. 关于url拼接传参数和利用view的字典传参数时,模板获取数据的方式问题
  12. leetcode Sudoku Solver python
  13. SQL2008将服务器的数据库表数据插入到本地数据库
  14. php分页查询
  15. ZOJ-3933-Team Formation【二分图最佳匹配】【KM】
  16. 玩转SSH--Hibernate(三)---手动修改数据库,前台查询信息不同步更新问题解决方法
  17. c# winform打印excel(使用NPOI+Spire.xls+PrintDocument直接打印excel)
  18. Linux 字符编码 查看与转换
  19. Linux 源码安装 FFmpeg
  20. leecode第七十八题(子集)

热门文章

  1. Kotlin静态方法
  2. 存储过程系列四: decode函数使用学习
  3. 用css截取字符 css排版隐藏溢出文本
  4. git学习笔记(上)
  5. HihoCoder 1640 : 命名的烦恼(预处理)
  6. BZOJ_4154_[Ipsc2015]Generating Synergy_KDTree
  7. node.js版本管理(Win) --- nvm-window
  8. 【旧文章搬运】关于NtUserBuildHwndList的一点记录~
  9. 最新sublimetext3080注册
  10. Mike and distribution