尝试着爬一些食谱类网站,
食谱:
-标题
-步骤
–步骤编号
–步骤图片
–步骤描述
-食材
–食材名
–食材用量
…
采集信息会以json形式存进firebase或者mongodb.
每个食谱下都会有好几个步骤描述和图片。
直接下载图片的话,会产生图片和步骤错位(有些步骤可能没有图片)
目前的做法就是把步骤通过ItemLoader来提取解析,然后分解成步骤文字,步骤图片,步骤编号, 但是这样图片文件又不能进入ImagePipeline 进行下载
想过把步骤作为一个新的item,发送请求Request,然后回调。但是这样做会产生大量无用请求(同一页面,如有十个步骤,感觉就要发送十次请求和回调。试过用meta来把步骤传给下一个parser但是 meta传的数据和response不是一个数据类型 没法加入itemloader。) (scrapy 应该会过滤掉同一页面的请求。。。所以这个方法也不行)
想请问有没有其他比较好的方法解决这个食谱步骤极其图片的采集和存储问题。
至于ImagePipeline图片字段问题,通过官方文档介绍,外加新的ImagePipeline和对应IMAGES_URLS_FIELD。这块问题不大
带你彻底掌握Scrapy,用Django+Elasticsearch搭建搜索引擎
了解课程