食鲜配·智厨

这个项目属于哪个课程 https://edu.cnblogs.com/campus/fzu/2025DataCollectionandFusiontechnology
组名、项目简介 风雨无组,食鲜配·智厨是一个基于Python 3.7+和Django 2.0.7的智能电商菜谱一体化平台,实现了"购物-菜谱-健康"的完整闭环,为用户提供"买什么-怎么做-吃得健康"一站式解决方案。
团队成员学号 102302101、102302102、102302103、102302104、102302105、102302106、102302109、102302110
项目logo image
这个项目的目标 实现网页端多源异构数据采集,构建用户画像并完成食材与菜谱的智能推荐,实现 AI 分析与 Web 应用展示,形成完整的数据采集与融合闭环。
其他参考文献 https://github.com/CRIPAC-DIG/SR-GNNhttps://docs.djangoproject.com/
gitee链接 https://gitee.com/ding41/buy-menu

一,项目背景

项目围绕“食鲜配・智厨”项目展开,该项目聚焦现代都市人群在日常饮食过程中普遍存在的“买菜难、配菜烦、做饭复杂、营养不均衡”等一系列现实痛点,致力于构建一个覆盖“食材选购—菜谱搭配—智能烹饪—健康管理”全过程的一体化智能饮食服务平台。项目以“数据驱动的个性化饮食服务”为核心理念,通过技术手段降低用户在饮食决策与烹饪执行中的认知与操作成本,提升生活品质与健康水平。

二,任务内容

1.爬取所有食材和食材总类的内容

本次项目我爬取的食材网站是苏宁超市https://chaoshi.suning.com/?safp=d488778a.13701.0.812ea3aef7&safpn=10007 ,爬取的食材种类是该网页左侧的相关内容
image
以及红圈食材的具体食材信息:(以水果为例子)
image
利用前面学习的爬虫,我是利用selenium和xpath的爬取方法对各个商品的名字,价格,和图片的url进行爬取
image
相关核心代码:

    # 1. 商品名称(适配两种页面结构)
    title = "".join(
        li.xpath('.//div[contains(@class, "title-selling-point")]/a//text() | .//div[2]/div[2]/a//text()')
    ).replace("\n", "").strip()
    dic["title"] = title if title else "未知名称"

    # 2. 商品价格(适配拆分的 <i> 标签)
    price_parts = li.xpath(
        './/div[2]/div[1]/span//i//text() | .//div[contains(@class, "price-box")]/span//i//text()'
    )
    if price_parts:
        price = "".join(price_parts).replace("\n", "").strip()
    else:
        price = "".join(li.xpath('.//div[contains(@class, "price-box")]/span[1]//text()')).replace("\n", "").strip()
    dic["price"] = price if price else "0"

    # 3. 商品图片(补全协议)
    img_link = li.xpath(
        './/div[contains(@class, "img-block")]/a/img/@src | .//img[starts-with(@id, "-") or contains(@src, ".jpg")]/@src'
    )
    if img_link:
        img_url = img_link[0].strip()
        if img_url and not img_url.startswith(('http:', 'https:')):
            img_url = 'https:' + img_url
        dic["img_link"] = img_url
    else:
        dic["img_link"] = ""

    # 过滤无效数据
    if dic["title"] == "未知名称" or dic["price"] in ("0", ""):
        continue

    dic["category"] = category
    products.append(dic)

爬取结果:
image

2.更改第二类前端封面显示

由于爬取的食材顺序不同,前端显示的也不一样,所以为了界面美观我们固定封面显示的商品
我更改了相关view.py的代码和html码
image
image
image

3.录制项目演示视频

image

三,心得体会

本次食鲜配·智厨的项目在组长诗怡的带领之下,我们分工明确并且有计划有目标的完成每个时间段的任务,并且我还运用了前面所学习的爬虫知识点完成所分配给我的任务,有问题我们也一起开会探讨,同时大家也互帮互助,我感受到大家都非常团结,并且我自己也收获良多

posted @ 2026-01-03 18:29  陈昭颖  阅读(5)  评论(0)    收藏  举报