ZHANGRENXIANG00 2020-05-11
Scrapy终端是一个交互终端,可以在未启动spider的情况下尝试及调试代码,也可以用来测试XPath或CSS表达式,查看它们的工作方式,方便在爬取的网页中提取数据。
如果安装了 IPython ,Scrapy终端将使用 IPython (替代标准Python终端)。 IPython 终端与其他相比更为强大,提供智能的自动补全,高亮输出,及其他特性。
进入项目的根目录,执行命令来启动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()`同样可以生效。
Scrapy Selectors内置XPath和CSS Selector表达式机制
Selector有四个基本的方法:
(1)XPath():传入xpath表达式,返回该表达式所对应的所有节点的selector list列表
(2)extract():序列化该节点为字符串并返回list
(3)css():传入CSS表达式,返回该表达式所对应的所有节点的selector list列表,语法同BeautifulSoup4
(4)re():根据传入的正则表达式对数据进行提取,返回字符串list列表
https://scrapy-chs.readthedocs.io/zh_CN/latest/topics/shell.html