三、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

相关推荐