【3.0版本】用ChatGPT开发一个书籍推荐微信小程序(三)

文章目录

    • 1 前言
      • 1.1 实现原理
      • 1.2 在小程序如何衔接
      • 1.3 技术架构
    • 2 爬取数据
      • 2.1 根据书名爬取信息
      • 2.2 根据作者爬取信息
      • 2.3 根据类型爬取信息
    • 3 讨论

1 前言

1.1 实现原理

万变不离其宗,还是相当于与ChatGPT交互问答,然后映射到小程序中,以下是三大要素:

  • 数据库建模

首先,需要建立一个数据库来存储图书信息和用户信息。每本书的信息可能包括书名、作者、出版社、ISBN号、出版日期、价格等。用户信息可能包括用户名、密码、邮箱、收货地址等。

  • 数据采集和处理

为了让推荐系统更准确,我们需要收集用户的阅读历史、购买记录甚至是搜索记录等。同时也需要对新的书籍进行分类标签的归纳和整理。然后根据用户的历史行为和兴趣爱好,使用推荐算法来生成个性化的书籍推荐列表。常见的推荐算法包括基于内容的推荐、协同过滤推荐、深度学习推荐等。

  • 界面优化

将书籍推荐列表呈现给用户,用户可以通过界面进行书籍的查看、购买等操作。后台根据用户的操作,更新相关数据并优化推荐算法,提高推荐质量和准确度。

1.2 在小程序如何衔接

  1. 确定需求:明确项目目标,包括要推荐的书籍类型、用户画像以及推荐算法等。

  2. UI设计:根据项目需求和用户习惯,设计小程序的界面布局、配色方案、交互方式等。

  3. 数据库建模:根据需求设计好数据库,并在后台进行开发。需要将图书信息、用户信息、历史数据等存入数据库,在后续计算过程中进行查询和分析。

  4. 用户授权:在小程序启动时,获取用户信息和授权信息,以保证后续的个性化推荐。

  5. 推荐算法:根据用户画像和历史行为,使用不同的推荐算法生成推荐结果。

  6. 页面布局与渲染:根据UI设计的风格和要求,在前端实现页面布局和渲染,并将后端返回的数据展示出来。

  7. 优化改进:根据用户反馈,不断优化算法和交互体验,提高推荐准确性和用户满意度。

  8. 发布上线:进行测试、联调等环节,确保小程序的稳定性和安全性,然后发布上线并进行运营推广。

1.3 技术架构

以下是需要用到的技术栈,包括其语言和框架,以及一些重点:

技术栈语言/框架技术要点
小程序开发框架微信官方提供的小程序框架快速搭建前端界面,实现小程序的交互和显示效果
前端语言WXML、WXSS、JavaScript,VUE 2.0+Uni-app实现小程序前端交互逻辑和样式设计
后端开发Node.js、Express.js,Python + Flask WEB提供API接口,处理前端发送过来的请求,并与数据库进行交互
数据库MySQL、MongoDB存储书籍信息、用户信息和推荐数据等
用户认证与授权微信开放接口实现用户登录、授权和个人信息获取等功能
推荐算法基于内容的推荐、协同过滤、深度学习推荐等,Python + Request通过算法计算出用户喜欢的书籍,根据爬虫爬取为用户推荐合适的书籍
第三方API集成豆瓣读书API、图书馆API等获取其他网站或服务提供的书籍数据

2 爬取数据

2.1 根据书名爬取信息

使用requests库向豆瓣网发送HTTP GET请求,获取包含搜索结果的页面,然后使用BeautifulSoup库解析HTML页面,提取书籍信息。具体实现过程如下:

  1. 构造搜索链接:将输入的书名作为参数,构造搜索链接。链接中的cat参数指定搜索结果为图书类型,1001表示文学类图书。使用requests库向链接发送HTTP GET请求,获取包含搜索结果的页面。

  2. 解析搜索结果页面:使用BeautifulSoup库解析搜索结果页面,提取第一个搜索结果的链接。将链接发送HTTP GET请求,获取包含书籍详情的页面。

  3. 解析书籍详情页面:使用BeautifulSoup库解析书籍详情页面,提取书籍名称、作者、类型、出版社和出版时间等信息。

  4. 返回书籍信息:将提取到的信息保存到字典中,作为函数的返回值。

import requests
from bs4 import BeautifulSoupdef get_book_info(book_name):# 构造亚马逊搜索页面的URLurl = f"https://www.amazon.com/s?k={book_name}"# 发送HTTP请求获取搜索页面内容response = requests.get(url)# 使用BeautifulSoup解析页面内容soup = BeautifulSoup(response.content, 'html.parser')# 从页面中获取第一个搜索结果的链接result_link = soup.find('a', {'class': 'a-link-normal s-no-outline'})# 发送HTTP请求获取搜索结果页面内容response = requests.get(result_link['href'])# 使用BeautifulSoup解析页面内容soup = BeautifulSoup(response.content, 'html.parser')# 解析页面中的书籍信息book_title = soup.find('span', {'id': 'productTitle'}).text.strip()book_author = soup.find('span', {'class': 'author'}).find('a').text.strip()book_genre = soup.find('a', {'class': 'a-link-normal a-color-tertiary'}).text.strip()book_publisher = soup.find('span', {'class': 'publisher'}).find('a').text.strip()book_publication_date = soup.find('span', {'class': 'a-text-normal'}).text.strip()# 返回书籍信息return {'title': book_title,'author': book_author,'genre': book_genre,'publisher': book_publisher,'publication_date': book_publication_date}

试着运行一下

book_name = "Python编程:从入门到实践"
book_info = get_book_info(book_name)print("书名:", book_info['title'])
print("作者:", book_info['author'])
print("类型:", book_info['genre'])
print("出版社:", book_info['publisher'])
print("出版时间:", book_info['publication_date'])

2.2 根据作者爬取信息

import requests
from bs4 import BeautifulSoupdef get_author_books_info(author):# 构造亚马逊图书搜索链接url = f"https://www.amazon.cn/s?k={author}&i=stripbooks"# 发送GET请求获取网页内容response = requests.get(url)response.encoding = "utf-8"# 使用BeautifulSoup解析网页内容soup = BeautifulSoup(response.text, "html.parser")# 获取作者的个人信息author_info = soup.find("div", {"class": "a-section a-text-left s-align-children-center"})# 获取搜索结果中的所有书籍信息book_items = soup.find_all("div", {"class": "s-result-item s-asin sg-col-0-of-12 sg-col-16-of-20 sg-col sg-col-12-of-16"})# 遍历每个书籍信息,解析出经典小说列表classic_books = []for item in book_items:book_title = item.find("span", {"class": "a-size-medium a-color-base a-text-normal"})if book_title:book_title = book_title.text.strip()if "经典" in book_title:classic_books.append(book_title)# 将结果以字典形式返回result = {"author_info": author_info.text.strip(), "classic_books": classic_books}return result

运行一下:

author = "村上春树"
result = get_author_books_info(author)
print("作者信息:", result["author_info"])
print("经典小说列表:", result["classic_books"])

2.3 根据类型爬取信息

import requests
from bs4 import BeautifulSoupdef get_book_info(book_type):"""获取亚马逊中指定作品类型的经典小说和相关作者信息:param book_type: str, 作品类型:return: tuple, 经典小说和相关作者列表"""# 构造查询链接url = f"https://www.amazon.cn/s?k={book_type}&i=stripbooks&rh=n%3A658390051&page=1&qid=1620160259&ref=sr_pg_1"# 发送GET请求获取网页内容response = requests.get(url)html = response.content# 解析网页内容,获取经典小说和相关作者信息soup = BeautifulSoup(html, 'html.parser')books = soup.select(".s-result-item")classic_books = []related_authors = []for book in books:book_title = book.select(".a-link-normal")[0].get_text().strip()book_author = book.select(".a-size-base.a-link-normal")[0].get_text().strip()if "经典" in book.select(".a-size-base.a-color-secondary")[0].get_text():classic_books.append(book_title)related_authors.append(book_author)# 返回经典小说和相关作者信息return (classic_books, related_authors)

运行一下:

# 获取科幻小说类别的经典小说和相关作者信息
book_type = "科幻"
classic_books, related_authors = get_book_info(book_type)# 输出结果
print("经典小说:")
for book in classic_books:print(book)
print("\n相关作者:")
for author in related_authors:print(author)

3 讨论

这部分主要的点就是写爬虫根据特定内容爬取信息并进行返回,根据自己的网络条件可以换成豆瓣等网站。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/9828.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

出海必知:跨境人必须知道的一个跨境电商推广常用渠道

目前大家通常首先会想到通过Facebook和Google的广告去为自己的跨境电商平台进行推广,但是大家往往会忽略“海外小红书” - Pinterest这一个热门且常用的渠道。对于现在做品牌出海以及跨境电商的卖家而言,Facebook和Google的价格和竞争力都太高了&#xf…

跨境电商如何制定社交媒体营销策略?

关键词:跨境电商,社交媒体营销,营销策略 社交媒体包罗万象,它并不像看起来那么简单。在制定促进业务的战略时,跨境电商新卖家很容易不知所措。尽管如此,创建一个成功的社交媒体营销策略并不一定是一个痛苦…

跨境电商社交媒体:选择合适的平台

正如您在使用社交媒体的九种方法中了解到的那样,跨境电商优先考虑社交媒体营销可能会更有利可图。有数十个平台可供选择,每个平台都迎合了具有不同兴趣、特征和位置的独特受众。 那么您应该关注哪个社交媒体平台以及如何以最大效率工作? 目…

如何利用社交媒体进行跨境电商营销—扬帆际海

Facebook、Instagram 和 Twitter 等社交媒体现在是在线零售商谋求发展的最佳工具。营销人员会想方设法把社交媒体营销纳入其电子商务营销策略中,增加流量,提高转化率,以下是扬帆际海整理的做法。 1. 通过社交媒体跟踪受众需求 很多时候社交媒…

跨境电商独立站指南:Facebook广告投放技巧

近几年,做跨境电商独立站的人越来越多,那做独立站还需要去广告投放吗?答案是肯定的,每一个跨境人都离不开广告投放。今天就给大家讲一下独立站Facebook广告投放要怎么实操,记得收藏学习! 独立站Facebook广告投放 一&am…

跨境电商平台大全,总有一个适合你

北美市场 Amazon(全球最大的跨境电商平台) eBay(线上拍卖及购物网站) AliExpress(阿里跨境电商平台) Wish(面向全球市场的移动购物平台) Walmart(跨国零售企业) Etsy(手工艺品交易平台) …

做跨境电商真难!直到遇到shopee才看到阳光

纵观历史变革,我国电商行业经过二十多年的发展期。电商产业遍地开花,促进就业。不知不觉中,在时代的潮流下,许多人也加入了电子商务行业。 入局shopee前期 电商要以细分方式找出需求市场,以及找到合适的供应商&#x…

纯干货:分享一些跨境电商客服经常会用到的话术(含中英文)

纯干货:分享一些跨境电商客服经常会用到的话术(含中英文) 跨境电商同国内的电商平台一样,是将国内的产品卖到国外去赚取信息差,只不过客服面对的是国外的客户,仍旧需要为客户解决一系列服务问题。 让前来咨…

【跨境电商】如何创建吸引人的免费送货电子邮件营销

关键词:跨境电商、电子邮件营销、免费送货 除了用于接触新受众的新策略外,电子邮件营销仍然是推动更多电子商务网站转化的最有效选择之一。在大多数情况下,电子邮件用于推销新产品,通知客户有关销售、交易和季节性活动的信息&…

你真的会跟 ChatGPT 聊天吗?(上)

前言:即使你对文中提及的技术不大了解,你也可以毫无压力地看完这篇描述如何更好地获得 ChatGPT 生成内容的文章。因为我也是利用 Azure OpenAI 等认知服务来学习,然后就这样写出来的。所以,舒服地坐下来,慢慢看吧&…

“字节一年,人间三年”

看到这个问题的时候我就想起了在江湖上流传已久的一句话:字节一年,人间三年。 然后我看到了这个问题下的一个高赞回答,很真实。 以下是这位朋友分享的正文: 在字节待过3年,作为研发,简单写一下我这几年在…

字节一年,人间三年!!

点击关注公众号,Java干货及时送达 学习 Spring Cloud 微服务的正确姿势! 用上 ChatGPT 啦,强的离谱! 博客园在绝境求生。。 在网上冲浪的时候看到一个问题: 看到这个问题的时候我就想起了在江湖上流传已久的一句话&…

太卷了, 某公司把自家运营多年的SaaS 系统完全开源了....,迅速标星60.2K!

🐯 平台简介 芋道,以开发者为中心,打造中国第一流的快速开发平台,全部开源,个人与企业可 100% 免费使用。 架构图 管理后台的 Vue3 版本采用 vue-element-plus-admin ,Vue2 版本采用 vue-element-admin管理…

太卷了, 某公司把自家运营多年的核心系统(支付系统)完全开源了....

因公众号更改推送规则,请点“在看”并加“星标”第一时间获取精彩技术分享 点击关注#互联网架构师公众号,领取架构师全套资料 都在这里 0、2T架构师学习资料干货分 上一篇:ChatGPT研究框架(80页PPT,附下载)…

470名硕博生争夺中石油一个行政岗,多名清北博士参与,太卷了!

上一篇:入职某米1年,被优化了。。。 高校毕业季,就业问题再次成为热点话题。然而,就业市场并不乐观,许多知名央企国企的招聘岗位竞争激烈,甚至出现了“内卷”现象。 记者从中石油官网了解到,该岗…

微软、Adobe 加入 AI 生成图像“内卷”大战,网友:用中译英文本之后,每次图片都有新惊喜!...

作者 | 屠敏 出品 | CSDN(ID:CSDNnews) 在这一场看不到硝烟的战争中,各大科技公司正带着 AI 从自动生成文本、代码的赛道“杀入”下一场——图像领域。 继上周百度发布的文心一言在多模态上实现文本生成图像之后,就在昨…

一周AIGC丨太卷了,Stability AI发布无需prompt绘图工具,Midjourney核弹级更新

上周,海外两大AI绘画巨头Midjourney和Stable Diffusion几乎在同一时间更新。Stable Diffusion XL 0.9发布,新版本生成的图片更加逼真,更有质感,可以正确生成人类五指。Midjourney5.2震撼发布,能够像相机一样变焦、填充…

ChatGPT将代替60%的Android岗位……

移动端已凉,更多的是一种焦虑情绪的表达,市场确实不太好,但这并不是针对移动端,是整个互联网行业衰败的表现而已。 但要说整个IT行业的移动端已凉有点过了,IOS都还没说话呢,Android凑什么热闹?…

“字节一年,人间三年!”

因公众号更改推送规则,请点“在看”并加“星标”第一时间获取精彩技术分享 点击关注#互联网架构师公众号,领取架构师全套资料 都在这里 0、2T架构师学习资料干货分 上一篇:ChatGPT研究框架(80页PPT,附下载)…

随便聊聊 顺便晒一下我的听歌设备

作者:ChenZhen 博客地址:https://www.chenzhen.space/🌐 版权:本文为博主 ChenZhen 的原创文章,本文版权归作者所有,转载请附上原文出处链接及本声明。📝 如果对你有帮助,请给一个小…