信19与电10
China Computer&Communication 较件看茨与惑用
2020年第22期
基于Python个性化礼物推荐系统的设计与实现
王艳蒋凌迪
(金陵科技学院软件工程学院,江苏南京211100)
摘要:人们在社会交往中不可避免需要赠送礼物,选择一份合适的礼物显得尤为重要。为了帮助人们更方便地选择合适的礼物,本文开发了一款基于Python语言整合了京东、淘宝、亚马逊等购物平台礼品信息的个性化礼物推荐系统.实践表明,该系统整合了多个购物平台的礼晶信息,并提供个性化智能推荐,为用户购买礼物提供了更多的方便和选择.
关键词:Python;Selenium;网络爬虫;礼品;智能推荐
中图分类号:TP391.3文献标识码:A文章编号:1003-9767(2020)22-097-03
The Design and Implementation of Personalized Gift Recommendation System
Based on Python Language
WANG Yan,JIANG Lingdi
(School of Software Engineering,Jinling Inst让ute of Technology,Nanjing Jiansu211100,China) Abstract:People inevitably need to give gifts in social communication,so it is very important to choose a suitable gift.In order to help people choose the right gift more conveniently,this paper develops a personalized gift recommendation system based on Python language,which integrates gift information of Jingdong,Taobao,Amazon and other shopping platforms.Practice shows that the system integrates the gift information of multiple shopping platforms,and provides personalized intelligent recommendation,which provides more convenience and choice for users to buy gifts.
Keywords:Python;Selenium;WebCrawler;gift;intelligent recommendation
0引言大购物平台的礼物信息并整合到该个性化推荐系统中。由于
当今人们在社会交往中不可难免会遇到需要赠送礼物的情形,此时选择一份合适的礼物显得尤为重要。选择的礼物是否符合送礼场景、是否符合收礼人的身份,都需要进行仔细考量。同时,随着互联
网以及电子商务的飞速发展,相较线下实体店因为地域和商品数量的限制,在线上电子商城购买礼物有更多的选择。多数购物商城,如京东、淘宝、亚马逊等都有礼品分类,但购物者需要挨个到各大购物商城选购。如果将所有礼品信息整合到一个系统中供购物者选择,开发一款个性化礼物推荐系统,为用户提供个性化礼物选择显得很有必要。
网络爬虫[1]是一种自动化获取网络数据的程序,有诸多优点叫可以根据自己的特定需求大量爬取网络上的某些内容和信息,并对获取的数据进行处理、清洗掉无用的信息,最终得到自己需要的数据。本文使用网络爬虫技术获取各Python提供了丰富的网络爬取功能[3],还拥有强大的网页处理能力,写爬虫更方便,所以选用Python语言实现该系统的网络爬取功能。
1系统设计目的
本系统拟开发一款个性化礼物推荐系统,旨在解决送礼难的问题。使用该系统的用户可以根据送礼对象、送礼原因和送礼价格等条件筛选合适的礼物。另外,该系统还会根据用户的个人信息、浏览习惯等进行个性化的智能推送,增加用户的参与感,为用户提供更多的选择。
2功能模块设计
该系统主要包括5个功能模块:用户模块、管理员模块、检索模块、网页呈现模块和互动模块,如图1所示。
作者简介:王艳(1985-),女,江苏徐州人,硕士研究生,助理实验师。研究方向:软件工程。
腴件开与矯用
2020年第22期个性化礼物推荐系统
网页呈现模块
I I后缀是sql的数据库怎么还原
主页呈现礼
物
智
能
推
荐
礼
物
详
情
信黒与电|&
China Computer&Communication
互动模块
I I
礼
物
点
赞
礼
物
收
函数count 的功能是藏
礼
物
对
比
抖音python入门教程取下一页的内容,将所有数据保存到data中。⑤将获取到的
礼物的链接、价格、商品名称信息导出,并保存到数据库中。
导出的数据如图2所示。
商品链接商品价格商品名称
item.jd/44036615027.html
item.jd/59857163153.html
item.jd/100013639430.html
送女友老婆生日礼物女七夕情人节礼物四叶草紫水晶
379手链女抖音高档实用浪漫结婚周年纪念日七夕节异地
thinkphp注入漏洞恋豪华包装四叶草紫水晶手链顺丰空运
图1系统模块图
(1)用户模块。用户模块主要包括注册、登录以及信息修改,用户可以输入账号、密码和验证码登录该系统。若没有账号可以注册一个账号,如果没有登录系统,将无法使用个性化礼物智能推荐功能、用户模块、互动模块。
(2)管理员模块。管理员模块包括管理员登录、礼物商品管理,礼物商品管理包括新建礼物、修改礼物和删除礼物,其中新建礼物的礼物信息主要通过网络爬虫爬取京东、淘宝、亚马逊等上的商品。
(3)检索模块。检索模块包括礼物搜索和分级菜单搜索。用户可以输入关键字搜索礼物,还可以根据给定的3个分级(送礼对象、送礼原因和送礼价格)进行搜索。
(4)网页呈现模块。网页呈现模块包括主页呈现、礼物智能推荐和礼物详情。主页呈现是用户登录系统后显示的内容;礼物推荐是该系统通过推荐算法生成的该用户可能会喜欢的礼物,并呈现在主页的个性化推荐区域;礼物详情用于呈现礼物的详细内容,包括礼物图片、价格、点赞数和礼物简介。
(5)互动模块。互动模块包括礼物点赞、礼物收藏和礼物对比3个子模块,用户若喜欢某个礼物,可以对该礼物进行点赞、收藏,还可以选择两个礼物进行比较。
3关键技术实现
3.1基于Python爬取京东、淘宝等购物网站的礼品数据,并存入数据库
本文以通过京东搜索生日礼品信息为例来分析如何实现该功能。本系统采用Selenium模拟用户通过Chrome浏览器访问京东的行为,爬取京东上的礼物信息。Selenium是一个Web程序的自动化测试框架⑷,支持IE、ChromeSafri等常用的浏览器,常用于网络爬虫中,通过对浏览器中的元素进行控制来
模拟用户的操作,包括输入框输入、点击操作、滚动操作等[5]o
爬取京东商品的具体的实现过程。①安装Selenium模块:pip install selenium o②使用Selenium中的浏览器操作接口webdriver,并启动浏览器驱动。③设置搜索内容,如生日礼物。网页在显示搜索到的数据时,是动态加载的,只会显示部分商品,所以需要模拟浏览器滚动,让网页加载完剩下的所以商品。④获取网页中搜索到的生日礼物数据,并翻页继续获
item.jd/66722069942.htnal
3.2礼物检索
智能保温杯女水杯女生日礼物女生送女友杯子女教师
节礼物送女朋友老师闺蜜情侣提醒喝水的杯子恒温杯
女士实用一鹿有你粉智能温度显示杯+小花+许愿
兔+礼盒礼袋
京东超市
359礼意久久镶施华洛世奇钻一周耳钉香水口红礼盒套裝
生日礼物女生送女友教师节女老师实用送老婆女朋友
闺蜜
京东超市
〔98中国风雕花口红套装礼盒七夕情人节礼物生日礼物女
生送女友女朋友老婆女孩闺蜜情侣表白结婚纪念日实
用礼品月中仙雕花彩妆套盒
图2导出礼品信息部分截图
礼物检索包括礼物搜索和分级查询两个子功能。礼物搜索采用基于关键字的文本信息过滤算法,用户在搜索框输入需要搜索的礼物,通过/search接口传给后台处理,并使用string接收用户的输入,然后提取用户输入的关键字,并与关键词库进行对比,并将查询结果返回给前台,供用户参考。分级查询是用户在分级查询标签处点击需要查询的标签,系统通过/searchlevel接口把关键词存放在HttpReques
tBody 中回传回来。在后台database中选取分礼物组的策略,只需要传一个整形数据就可根据该整数对应的礼物组查询对应的礼物。
关键词库和礼物分类的依据:使用Python语言爬取京东、淘宝上的礼物信息,收集并整理所有礼物的信息,如提取它们的标题信息,再使用Python中的jieba分词工具统计词频⑹,发现高频词汇(除去不必要修饰词)。高频词汇主要包括送礼对象、送礼原因、礼物价格,采用图3所示的礼物分组方法,用3位数字表示礼物的组别。
abc表示法
a:送礼对象
1:普通礼物2:青年女性3:青年男性4:中年女性5:中年男性6:老年男性7:老年女性
b:送礼原因
1:普通礼物2:表达爰意3:生日礼物4:结婚不沏5:健康礼品
c:价格区间
1:100以下2:100-500元3:500元以上
sha1链接d:送礼对象细分
1:对象2:妹3:兄弟4:同事5:上司6:父亲7:母亲8:儿子9:女儿
图3礼物分组方法
3.3礼物的智能推荐
本文采用基于item-based协同过滤算法的简化版,是对两个商品自身属性之间的相似度进行分析⑺,称为倾向值。当用户登录时系统会自动计算所有礼物的倾向值,然后从高到低进行排序,倾向值高的优先推荐给用户,按照这个规则生成该用户的推荐列表。
在介绍倾向值的计算方法之前,先介绍印证礼物的概念。印证礼物是根据用户的浏览记录得到的,若用户对该礼物进行了浏览详情、点赞或者收藏等操作,系统便会把该礼物加入印证礼物列表。前文曾介绍到,利用数据分析高频词汇得到礼物的组别,由3位数字组成,假设3位数字为abc(a代表送礼对象,b代表送礼原因,c代表礼物价格),则某个礼物与某印证礼物的倾向值为v=x*n x+y*n1+z*n3+P+r,其中x
2020年第22期
信愿与电H
China Computer&Communicationlen函数用法详解
怨件什诊;与矯用
表示这两件礼物送礼对象的一致性,一致为1,不一致则为0;尹表示送礼原因的一致性,一致为1,不一致则为0;z表示礼物价格区间的相近性;若两个礼物在送礼对象这个分类中相同,如加1,若在送礼原因这个分类中相同,“2加1,若在送礼价格区间上相近,“3加1;尸表示礼物的优先度,可利用P人为控制礼物推荐的排序;尸为一个2到3之间的随机数,使用r可以增加推荐礼物的丰富性。
3.4礼物对比
该功能的难点在于对比信息的选择以及对比结果的呈现。在礼物详情页有比较按钮,用户可点击此处将该礼物加入比较栏,当比较栏有两件礼物时,会自动跳转至比较页面,然后清空比较栏。比较方法使用/compare接口,根据礼物的价格、礼物的点赞数、礼物的收藏数、礼物的优先级等因素给一个比较结果,再通过ajax执行的结果判断前端JavaScript需要执行什么内容或者是函数,给用户提示,如 图4所示。Q小蒋礼物推荐平台
心M8K
☆☆☆☆☆
图4礼物对比4结语
实践表明,Python语言是一款非常适合编写网络爬虫程序的语言。本系统通过网络爬虫获取多个购物平台的礼品信息并整合在一起,方便了用户对礼品进行搜索;还提供了丰富的搜索条件,并根据用户的浏览行为提供了个性化礼物的智能推荐,让用户能够更加精准地选择合适的礼物。
参考文献
[1]侯洁茹,吕继续•基于Python的天猫商品爬虫技术[J].科技资讯,2019(32):10,12.
[2]刘晓知•基于Python的招聘网站信息爬取与数据分析[J].电子测试,2020(12):75-76,110.
[3]翟普.Python网络爬虫爬取策略对比分析[J].电脑知识与技术,2020(1):29-30,34.
[4]花君林.基于Selenium的Python网络爬虫的实现[J].电脑编程技巧与维护,2017(15):30-31,36.
[5]樊涛,赵征,刘敏娟•基于Selenium的网络爬虫分析与实现[J].电脑编程技巧与维护,2019(9):155-156,170.
[6]宋永生,黄蓉美,王军•基于Python的数据分析与可视化平台研究[J].现代信息科技,2019,3(21):7-9.
[7]柴荣•图书馆书目协同智能推荐系统设计与实现研究[J].微型电脑应用,2020,36(4):133-135,139.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论