Scrapy shell 命令行模式 使用教程

Scrapy终端(Scrapy shell)文档 在这里

Scrapy shell一句话介绍

Scrapy shell也称"Scrapy终端",是一个交互终端,“输入即响应”模式,使我们可以在未启动spider爬虫的情况下尝试及调试代码。

更为方便的是,我们也可以用来直接测试XPath或CSS表达式,而不用import导入相应模块。通过查看其运行的结果,方便了我们分析目标网页,并从中测试我们的表达式是否提取到了数据

总之,Scrapy shell可以用来调试测试爬虫

Scrapy内置的Selector选择器

在Scrapy中使用xpath或是CSS等,之所以不用再导入第三方包,是因为在Scrapy中已内置了相应的Selector选择器
Selector有四个基本的方法。

(1)xpath( )
我们通过书写xpath表达式,可使程序返回该表达式所对应的所有节点的selector list选择器列表,从而筛选我们想要定位的元素。

(2)extract( )
序列化节点为Unicode字符串,并返回list列表。

(3)css( )
根据css表达式,返回该表达式所对应的所有节点的selector list选择器列表,语法和 BeautifulSoup4相同。

(4)re( )
根据书写的正则表达式,对数据进行提取,返回Unicode字符串list列表。

Scrapy shell 实战演练

以爬取本博客目录为例,来演练一下Scrapy shell的用法。

(1)打开CMD命令窗口,直接输入命令:scrapy shell 目标网址

(2)等待系统进入交互模式后,我们使用命令:response (查看目标状态响应状态)

(3)可以看到,响应状态码为200表示响应成功。此时我们借助谷歌浏览器提取目标数据的xpath。

(4)经过对网页分析后,书写xpath表达式。在scrapy shell中输入命令:response.xpath(’ 你的XPATH /text()’)

(5)可以看到此时已经可以提取到数据了,我们的xpath表达式测试成功。
在这里插入图片描述

但我们发现此时提取到的仍是xpath对象,这时我们就可以使用extract()方法来将我们的数据转化为列表。
输入命令:response.xpath(’ 你的XPATH /text()’).extract()
在这里插入图片描述

(6)如果我们只想要提取第一篇文章名字,和python中对列表的操作是一样的,我们只需要加个“0下标”即可。
输入命令:response.xpath(’ 你的XPATH /text()’).extract()[1]
在这里插入图片描述
(7)想要退出scrapy shell 去正式编写爬虫时,输入命令:exit() 即可退出scrapy shell 终端模式。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值