模块总结
项目接近尾声。本周打算根据自己的整个一个月的工作内容和学习内容做一些总结。
本篇博客为应过程管理经理的要求,对自己的模块写一份模块功能及实现的总结。
模块名称
数据采集。
实际上就是爬虫,是我们获取信息的一种手段。在本项目里,专门有这么一个模块的设置,用来获取真实的数据,来作为测试的依据。
模块功能概述
从美食天下网站上根据项目需求爬取用户信息、食谱信息等。
我们要根据项目的需求来选择要爬取的数据,把握住核心。我们这个饮食健康管理平台的核心数据就是食谱和用户。
模块实现
- 爬取目标。
首先是关于食谱信息的爬虫,要爬取食谱的图片、食谱名字、食谱的食材表。
然后是关于用户信息的爬虫,要爬取用户的昵称、用户头像、用户性别、用户注册时间。 - 爬虫设计
爬虫建立在Scrapy爬虫框架上,对于图片等动态加载产生的内容,使用selenium框架等待对应元素加载完成,获取页面信息。
共有两个爬虫,分别是食谱信息爬虫和用户信息爬虫。对于两个爬虫来讲,首先读取数据清洗同学挑选出的200个优质用户对应的用户id和用户主页url或者食谱id和食谱主页url,对于每个url,访问它的页面,然后通过下载器下载页面,送到爬虫中解析需要的内容,在送到管道中存储下来。其中selenium框架就是作用在下载器中间件的,这里定义自己的通过selenium实现的下载器中间件,来获取页面内容。 - 爬虫实现
分为两个爬虫实现。
首先是是食谱爬虫。
第一步,先实现正常爬