最近有人问我scrapy和request、bs4的比较,个人觉得是如下的:
reuqest 和 bs4(BeautifulSoup4) | scrapy |
request和bs类似于一个空的大房子,你需要什么搬什么进去 | scrapy类似于大房子已经建立好了多个功能房,你需要什么,直接进去各自的房间,找出那个功能就好了 |
如果爬虫很大(要有日志模块,或者其他的小功能之类的),request和bs的大房子可能会乱七八糟,这时候就需要建功能房,造函数,如果爬虫的需求很随便(对,就是随便,不要求后续维护之类,可能是导师心血来潮叫你爬一爬),request和bs就很方便 | scrapy进去前还需要提前熟悉它的各个功能调用方式,scrapy多个模块,可能也会让初学者比较懵,但是熟悉后,发现scrapy有好多小功能封装比较完善,比如ItemLoader,批处理每个Item的字段,超方便 |
总的来说,request和bs4初学容易上手,大型开发就比较麻烦,要自己造轮子,适合学生党偶尔有个需求
scrapy初学麻烦,或者觉得它过于庞大,但是做项目后发现还是用轮子更方便,你能想到的小功能,它很多都封装好
以上只是个人的粗浅见解,欢迎相互讨论