山东大学暑期实训-饮食健康管理系统设计与实现(六)
使用scrapy和selenium爬取美食天下的数据
对于爬虫来说,我们首先要明确,我们要爬取什么网站,爬取哪些数据,数据保存成什么形式。
爬虫思路
首先,根据挑选出来的一个发布食谱较多的用户,进入他的个人主页,模拟点击事件,进入发布菜谱的总页面,计算总共有几页,然后分别进入每一页中获取所有食谱的url,然后赋予每个食谱一个id,将食谱id和食谱url作为一个键值对保存在食谱表中。接着,根据食谱表进入每一个食谱的页面,查看食谱下面是否有人留言,如果有非作者本人的留言,就获取这个留言用户的个人主页的url,同时赋予这个用户一个id,将其id和url保存在用户表中,将用户id和食谱id作为一对关系存在用户食谱关系表中。这两个过程交替运行,完成整个爬虫。
除此之外,我们还要爬去食谱表中对应食谱的图片和食谱需要的食材信息。
目标分析
总的来说,我们要爬取的是用户、食谱、用户和食谱的关系、食材、食谱图片。
最后形成如下结果: