Scrapy-基础-Spider内不同级别parse传递参数
本文最后更新于:2021年2月5日 下午
问题描述
并不是每一个网站都将你想要的所有信息放在最内层页面的
可能需要在不同层级的请求中获取不同的参数,共同组成最后的item。
如果不懂得在不同层级的parse中传递参数,那么最后的item会缺失一些信息。
处理
Spider的Request请求经过处理后,最终会返回一个Response,被回调函数callback处理
如果想要传递数据,有两种处理方式:
- 在
Request中添加meta参数(官方不推荐) - 使用
Request的cb_kwargs属性
使用meta参数
我们可以在Request中添加meta参数,记录需要传递的信息meta参数所附带的信息最终会被Response返回meta参数可传递 简单类型参数 或 对象类型参数
案例:使用
Request的meta参数传递数据
1 | |
使用Request的cb_kwargs属性
将需要传递的内容用Request的cb_kwargs属性保存
待到下级解析的时候,从参数中获取即可
案例:使用
Request的cb_kwargs属性传递数据
1 | |
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!