关於spider的观念问题
来源:4-9 编写spider完成抓取过程 - 1
weixin_慕仙7241916
2023-02-06
老师好,我是初学者,针对"抓取过程"的部分,我看了三次感觉还是一知半解,想请以下的理解正确吗?
一丶
spider与scrapy.Request的功能连用,可视为一个递回(Recursion)的方法,透过不断的将新的URL传递出去,并再次调用spider类来进行相对应的parse
二丶
scrapy.Request的主要用途是让爬取的过程可以实现异步的效果
三丶
每一组Request与parse的搭配,可视为一个业务逻辑,针对不同的URL类别(或组别,如标题丶图片等等),客制化一套处理方法,再将parse方法从callback参数中传进去,让该次业务逻辑调用某一套客制化的parse
希望老师能协助补全一下知识,感谢您
写回答
1回答
-
是的,大致思路没问题,接下来就是为什么一个应该很顺利的过程,在scrapy中会显得如何不方便,主要原因都是在于异步,scrapy是一个异步框架,所以基本上回调只能由scrapy来处理,不过scrapy已经将这里的回调隐藏了,所以我们只需要写解析规则和是否要进一步抓取就行了,如果从这个页面中解析到更多需要进一步抓取的直接yield request就行了,如这个html中解析到结果了需要存库,直接yield item就行了,这两种不同的类型在scrapy的engine接收到以后自然就知道应该是交给pipeline去处理还是交给downloader去处理
132023-02-08
相似问题