单独使用 Scrapy 框架的 Selector 选择器

mywang88

2018-12-16

背景

Scrapy 框架是一个经典的 Python 爬虫框架。

Scrapy 框架中的 Selector 类提供了多种 html/xml 节点选择器的方法,例如:css 选择器、xpath 选择器、re 选择器等。

使用 scrapy.Selector 类的好处之一,就是不需要再导入(import)其它工具包,例如 lxml 等,直接调用选择器,并输入对应语法即可。

在开发和测试中,有时我们需要单独使用 Scrapy 框架的 Selector 类的方法,而不是创建一个完整的 Scrapy 项目,因为创建一个项目需要好多步骤。例如,当我们只需要发送一个 get 请求,然后解析响应体(html 代码),那么我们明显更倾向于使用 requests 库的 get 方法,而不是使用 Scrapy 框架(创建一个项目,创建一个爬虫,创建 start_request 方法,创建 parse 方法,在命令行模式下启动爬虫,初始化各种设置,加载各种中间件,等等等等)。

笔者就遇到了这样的需求:

不启动 Scrapy 框架,在程序中单独使用 scrapy.Selector 类

这样做还有一个好处,那就是这样开发出的解析函数可以直接用在已有的 Scrapy 框架项目中,而不需要额外导入其它依赖。

方法

实现方法可以概括成一句话:

用要解析的 html 代码,创建一个 scrapy.Selector

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值