关於spider的观念问题

来源:4-9 编写spider完成抓取过程 - 1

weixin_慕仙7241916

2023-02-06

老师好,我是初学者,针对"抓取过程"的部分,我看了三次感觉还是一知半解,想请以下的理解正确吗?

一丶
spiderscrapy.Request的功能连用,可视为一个递回(Recursion)的方法,透过不断的将新的URL传递出去,并再次调用spider类来进行相对应的parse

二丶
scrapy.Request的主要用途是让爬取的过程可以实现异步的效果

三丶
每一组Requestparse的搭配,可视为一个业务逻辑,针对不同的URL类别(或组别,如标题丶图片等等),客制化一套处理方法,再将parse方法从callback参数中传进去,让该次业务逻辑调用某一套客制化的parse

希望老师能协助补全一下知识,感谢您

写回答

1回答

bobby

2023-02-07

是的,大致思路没问题,接下来就是为什么一个应该很顺利的过程,在scrapy中会显得如何不方便,主要原因都是在于异步,scrapy是一个异步框架,所以基本上回调只能由scrapy来处理,不过scrapy已经将这里的回调隐藏了,所以我们只需要写解析规则和是否要进一步抓取就行了,如果从这个页面中解析到更多需要进一步抓取的直接yield request就行了,如这个html中解析到结果了需要存库,直接yield item就行了,这两种不同的类型在scrapy的engine接收到以后自然就知道应该是交给pipeline去处理还是交给downloader去处理

1
3
weixin_慕仙7241916
非常感谢!
2023-02-08
共3条回复

Scrapy打造搜索引擎 畅销4年的Python分布式爬虫课

带你彻底掌握Scrapy,用Django+Elasticsearch搭建搜索引擎

5796 学习 · 6290 问题

查看课程