【修改版】用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/6854.html

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

相关文章

如何在使用密钥登录的时候请求ChatGPT的聊天接口并实现流式输出

一、ChatGPT的参考API地址 API Reference 二、官网相关API介绍 下图是正常请求时候的请求头和body体,这样请求的话是等结果都加载出来后一起出现,并且返回的结果也是标准的json格式。 如果想要实现和ChatGPT一样的效果,官网的这样推荐的&a…

使用 ChatGPT 在几秒钟内生成鼠标移动机器人

在本教程中,我们利用 OpenAI 的语言模型 ChatGPT 的强大功能为鼠标移动机器人生成 Python 代码。 代码应每 2 秒将鼠标指针移动到屏幕上的随机位置。如何在指定时间自动打开计算机凭借基于自然语言输入生成代码的能力,ChatGPT 为希望快速实现某些功能而无…

wechaty搭建微信机器人——超详细版

文章目录 前言一、wechaty是什么?二、准备1.安装 Node.js(需要10.0版本以上)2.安装Wechaty 总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术…

基于ChatGPT的企业微信机器人

1、openAI账号 登录OpenAI的账号后,再点击右上角的“Personal”图标,然后点击“view API keys”进入API页面。 点击“create new secret key”按钮。 生成秘钥之后,把秘钥复制下来。 2、拉取项目代码 git clone https://github.com/zhay…

OpenChatKit :开源的 ChatGPT ,开箱即用!前OpenAI团队打造,GitHub 7000+星

MLNLP社区是国内外知名的机器学习与自然语言处理社区,受众覆盖国内外NLP硕博生、高校老师以及企业研究人员。 社区的愿景是促进国内外自然语言处理,机器学习学术界、产业界和广大爱好者之间的交流和进步,特别是初学者同学们的进步。 ChatGPT的开源平替来了,源代码、模型权…

关于“探码科技”,ChatGPT 如是说

最近 ChatGPT 很火,其高质量的对话让人叹为观止,关于“探码科技”,我们对 ChatGPT 进行了采访: ChatGTP,请你做一个自我介绍! 你好,我是 ChatGPT,一个由 OpenAI 开发的自然语言处理…

我利用 ChatGPT 提高工作效率的 5 种方式

技术应该是我们的朋友,而不是我们的敌人 ChatGPT 在 11 月的发布改变了世界。学校阻止该计划,程序员对他们工作中新发现的效率赞不绝口,而创意人员则怀疑他们的工作是否受到威胁。每个人都在想同一个问题:ChatGPT 的未来会是什么样…

ChatGPT技术报告

ChatGPT是一个由OpenAI开发的大型语言模型,是GPT(Generative Pretrained Transformer)系列模型的一部分。它使用了 Transformer 架构,并在大量的文本数据上进行了预训练。预训练的目的是使模型能够从大量的文本中学习语言知识和模…

体验了一下火爆全球的 ChatGPT,我震惊了

这几天,要说编程圈最热的话题,莫过于OpenAI的ChatGPT,写小说,写代码,找BUG,写论文,画漫画,谱曲……简直没有它干不了的事。 趁着下班时间,我也光速注册体验了一下&#…

起点中文网月票榜爬取及数据分析

此文转载自:https://blog.csdn.net/weixin_45036306/article/details/112385445 起点中文网月票榜爬取及数据分析 文章目录 起点中文网月票榜爬取及数据分析1. 数据爬取 1.1.1 准备1.1.2 网页分析1.1.3 层次爬取1.1.4 数据存储 2. 数据分析及可视化 1. 数据爬取 数…

8篇报告|马斯克称Chat GPT好得惊人

8篇报告|马斯克称Chat GPT好得惊人‼️ 最近,连续刷屏的AI应用ChatGPT火爆全球,成为科技圈第一大热潮。 马斯克在推特上评价 ChatGPT 称:“ChatGPT 好得惊人。我们离强得可怕的 AI 不远了。”比尔盖茨盛赞其影响“不亚于互联网诞…

万字长文解读:从Transformer到ChatGPT,通用人工智能曙光初现

ChatGPT掀起的NLP大语言模型热浪,不仅将各家科技巨头和独角兽们推向风口浪尖,在它背后的神经网络也被纷纷热议。但实际上,除了神经网络之外,知识图谱在AI的发展历程中也被寄予厚望。自然语言处理是如何伴随人工智能各个流派不断发…

ChatGPT 爆火背后的大语言模型到底是什么?

ChatGPT 是一个基于大规模预训练语言模型的自然语言处理技术。大规模预训练语言模型是指利用大量文本语料对神经网络进行预训练,使得神经网络可以学习到语言的各种规律、结构和特征,从而能够实现各种自然语言处理任务。 ChatGPT 是由 OpenAI 团队开发的…

ChatGPT时代,我们可能站到了自然语言编程的大门口

ChatGPT大火,我现在有种感觉:我们可能站到了自然语言编程的门口,一脚下去,也许能把门踹开。 当然,也可能会踢到一块铁板。 回顾我们的编程之路,基本上就是一个编程门槛不断降低的历史。 最早的一批前辈们…

ChatGPT的语言处理功能真有那么强吗?

作为一名语言类专业的学生,听说ChatGPT的语言能力已经超过70~80%的人类,能够与人进行正常对话,那么对它输入一些我们经常分析的歧义句,不知会有何表现。 进入 ChatGPT中文网 网站 朱鸾AI助手 ChatGPT中文网 - ChatGPT国内网页…

斯坦福等学者对ChatGPT做了在NLP几乎所有任务上的优劣势分析

进NLP群—>加入NLP交流群 一句话总结 在NLP的7个代表性任务中的20个流行数据集上系统性的分析ChatGPT的zero-shot学习能力,最终得出ChatGPT在许多有利于推理能力的任务上表现良好(例如,算术推理),而在解决序列标注等…

【关于ChatGPT的30个问题】15、ChatGPT会对自然语言处理和人工智能领域产生什么影响?/ By 禅与计算机程序设计艺术

15、ChatGPT会对自然语言处理和人工智能领域产生什么影响? 目录 15、ChatGPT会对自然语言处理和人工智能领域产生什么影响?

复旦邱锡鹏:深度剖析 ChatGPT 类大语言模型的关键技术

分享嘉宾 | 邱锡鹏 整理 | 禾木木,梦依丹 出品 | CSDN(ID:CSDNnews) ChapGPT 自问世以来,便展现出了令世人惊艳的对话能力。仅用两个月时间,ChatGPT 月活跃用户就达一亿,是史上用户增速最…

【自然语言处理】【ChatGPT系列】ChatGPT的智能来自哪里?

相关博客 【自然语言处理】【大模型】PaLM:基于Pathways的大语言模型 【自然语言处理】【chatGPT系列】大语言模型可以自我改进 【自然语言处理】【ChatGPT系列】WebGPT:基于人类反馈的浏览器辅助问答 【自然语言处理】【ChatGPT系列】FLAN:微…

ChatGPT 类大语言模型为什么会带来“神奇”的涌现能力?

作者 | 张俊林 责编 | 王子彧 出品 | CSDN(ID:CSDNnews) 如今,大语言模型已经彻底改变了自然语言处理 (NLP)的研发现状。众所周知,增加语言模型的规模能够为一系列下游 NLP 任务带来更好的任务效果,当…