一、数据库表设计
总结下网上各种菜谱的特点,选取必要的、共同的数据项。设计数据库表recipes的数据项如下:
recipeid:编号,主键
name:菜谱名称
coverimage:封面图片
categories:类别
desc:简述
ingredients:原料
method:制作方法
images:制作图片
tips:提示
stars:星级
source:原地址
二、数据下载
表有了,下面就要解析页面,保存页面的数据到数据库中了。
最方便的工具是各种网络爬虫软件,两个常用的python开源工具如下:
1、Selenium:分布式的自动化测试工具,支持多平台:windows、linux、MAC ,支持多浏览器:ie、ff、safari、opera、chrome,多语言C、 java、ruby、python、C#
网址:https://github.com/SeleniumHQ/selenium
2、Scrapy:是一套基于Twisted的异步处理框架,纯Python实现的爬虫框架,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常方便
网址:https://github.com/scrapy/scrapy
Selenium主要是用于测试的工具,直接爬取数据并不是它的主要支持内容,依据说明文档,属于Worst Practices。可以和Scrapy配合使用抓取动态数据。
Scrapy的架构使用起来很灵活,它的帮助文档地址是:https://docs.scrapy.org/en/latest/
架构图如下: