Scrapy Shell

Posted Norni

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scrapy Shell相关的知识,希望对你有一定的参考价值。

1、简介

  Scrapy终端是一个交互终端,可以在未启动spider的情况下尝试及调试代码,也可以用来测试XPath或CSS表达式,查看它们的工作方式,方便在爬取的网页中提取数据。

  如果安装了 IPython ,Scrapy终端将使用 IPython (替代标准Python终端)。 IPython 终端与其他相比更为强大,提供智能的自动补全,高亮输出,及其他特性。

2、启动Scrapy Shell

  进入项目的根目录,执行命令来启动shell

  `scrapy shell "url"`

  说明:url为要爬取的网址

  (1)Scrapy Shell根据下载的页面会自动创建一些方便使用的对象,比如`Response`对象,`Selector`对象

  (2)当shell载入后,将得到一个包含response数据的本地response变量,输入`response.body`将输出response的包体,输出`response.headers`可以看到response的包头

  (3)输入`response.selector`时,将获取到一个response初始化的类Selector的对象,此时可以通过使用`response.selector.xpath()或response.selector.css()`来对response进行查询

  (4)Scarpy也提供了一些快捷方式,如`response.xpath()`或`response.css()`同样可以生效。

3、Selectors选择器

  Scrapy Selectors内置XPath和CSS Selector表达式机制

  Selector有四个基本的方法:

  (1)XPath():传入xpath表达式,返回该表达式所对应的所有节点的selector list列表

  (2)extract():序列化该节点为字符串并返回list

  (3)css():传入CSS表达式,返回该表达式所对应的所有节点的selector list列表,语法同BeautifulSoup4

  (4)re():根据传入的正则表达式对数据进行提取,返回字符串list列表

4、官方文档

  https://scrapy-chs.readthedocs.io/zh_CN/latest/topics/shell.html

 

以上是关于Scrapy Shell的主要内容,如果未能解决你的问题,请参考以下文章

scrapy基础知识之 Scrapy 和 scrapy-redis的区别:

scrapy的使用

Scrapy分布式爬虫实战:Scrapy基础知识

Python爬虫 scrapy -- scrapy 日志信息和日志等级scrapy shell的使用scrapy post请求

python爬虫随笔-scrapy框架——scrapy框架的安装和结构介绍

scrapy-redis 和 scrapy 有啥区别