scrapy中调用自定义方法
2021-02-22 本文已影响0人
format_b1d8
在项目中有一个需求,就是需要根据不同的id进行不同的切片,好不容易找到了对应的关系,本来想可以在parse中直接调用,然后再自定义方法中直接yield,理论上感觉应该是这样的:
![](https://img.haomeiwen.com/i17902660/11c79f5b565f0a93.png)
![](https://img.haomeiwen.com/i17902660/4ef3c861015a65dd.png)
想在get_detail方法中直接yield去下一个回调方法,但是运行发现根本去不了回调方法里面,头疼...
后来经查询,scrapy只支持yield方式传递Request,FormRequest对象,于是灵机一动,既然不让我这么做,那干脆把处理后的接过return就好,于是经过改装后变成这样:
![](https://img.haomeiwen.com/i17902660/2442cd44abb682ed.png)
其中item就是经过get_detail方法处理后的返回值,打包成了item对象。终于到了下一个回调方法了。
记录一下,以后别踩坑