# python file **Repository Path**: Hzx_newmedia/python-file ## Basic Information - **Project Name**: python file - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-01-21 - **Last Updated**: 2021-01-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 可能需要注意的事项 1:默认用户名:admin 密码:123456 由于数据库和网站都是部署在云服务器端,所以注册后,并不能马上用新账号登录,当中会有一段时间的延迟(据测试延迟在30分钟-1小时),请评分的同学成功注册后先用默认账号体验网站,过段时间再用自己账号登录,为了证明数据库是有效的我在主页面的导航栏中加入查看数据库信息的按钮,点击进去用户可看到自己刚才注册的用户名和密码。 2.所使用检测的图片需要与功能相对应,图片与功能不对应会导致交互链接如(百度百科地址)无法正常跳转。若检测提交后有报错信息,请同学更换一下图片内容或图片类型 3.所使用的图片的地址是需要http开头的,则会有错误信息报回 ### python期末作品链接:[http://119.23.251.215:443/login](http://119.23.251.215:443/login)(云服务器上传) *** # 项目名称:一“图”立得 一张图片除了带给人们回忆还能带来什么?可能现在很多人都会忽略掉图片的作用,并不能很好地利用图片 一“图”立得网站结合python flask搭建,人工智能api,以及mysql数据库,以图片为根基演化出6大功能(具体描述看下图)1.地标天气,2.拍照写诗,3.美食卡路里,4果蔬识别,5植物识别,6.动物识别。 一“图”立得可广泛用于教育,娱乐,生活,旅行,用户只需一张图片便能有所收获。 ![](https://gitee.com/Hzx_newmedia/python-file/raw/master/picture/27fbd40b98f627069154071b9999362.png) # 问题表述 一“图”立得以人为中心,其6大功能能解决以下层面问题 |序号|问题/用户需求画像|涉及层面|解决方案| |--|----|----|---| |1|用户正处于想知道自己面前的食物是否会影响自己减肥|生活|使用一图立得“美食卡路里”功能,对食物拍照后返回每100g该美食还有多少卡路里| |2|用户在网上看到某一地标,想了解该地标,及其当地天气|旅行|使用一图立得“地标天气”功能,结合百度api及高德api,返回地标所在地,及其天气 |3|某用户在外地,想了解当地农作物|生活|使用一图立得“果蔬识别”功能,上传农作物图片,立即返回农作物名称| |4|用户看到某一画面想即兴赋诗一首|娱乐|使用一图立得“拍照写诗”功能,结合图像识别api,及知识图谱api,识别该画面赋诗一首| |5|用户想让自己的孩子认知某一动物或植物|教育|使用一图立得“植物识别和动物识别”功能,上传图片,立即知道该植物/动物的名字及其描述| *** # 编程功能的基本描述 |序号|涉及的知识点|所花时间|可参考文档| |--|--|--|--| |1|基本数据库功能的调用|3个课时|[mysql命令大全](https://www.cnblogs.com/zhaoyingjie/p/12530025.html)| |2|python的知识点|10个课时|**1**[菜鸟教程python3](https://www.runoob.com/python3/python3-tutorial.html) **2**[w3c school python3](https://www.w3cschool.cn/python3/)**4**[python如何搭建flask](https://www.cnblogs.com/lsdb/p/10488448.html)| |3|网页设计与制作|5个课时|**1**[菜鸟教程 html5](https://www.runoob.com/html/html-tutorial.html) **2**[html5 w3c school](https://www.w3cschool.cn/html5/) **3**[css bootstrap](http://bootstrap.evget.com/css.html)| |4|云端部署|1个课时|[使用云端服务器部署步骤](https://www.jianshu.com/p/54eef7579907) |5|api的运用|3个课时|**1** [什么是api接口](https://www.cnblogs.com/isme-zjh/p/12714719.html)**2**[图像识别api技术文档](https://ai.baidu.com/ai-doc/IMAGERECOGNITION/tk3bcxbb0) **3**[知识图谱api技术文档](https://ai.baidu.com/ai-doc/NLP/ik3hbjj0v) **4**[高德开放平台技术文档](https://lbs.amap.com/api/webservice/summary/)| # 解决方案表述 ## 涉及python知识点 |序号|知识点|序号|知识点| |--|--|--|--| |1|if 语句判断|2|for 循环遍历| |3|函数的封装使用|4|python 爬取网络信息| |5|字典,集合的取值|6|字符串方法的使用| |7|搭建flask| ## 项目规划 ![](https://gitee.com/Hzx_newmedia/python-file/raw/master/picture/8375ca55961e0d5e6bafa3ad4859846.png) ## 一数据流来表述 ### 整体数据流 ![](https://gitee.com/Hzx_newmedia/python-file/raw/master/picture/f286bac5418df672a4ceed01b616e39.png) ### 注册登录数据流 ![](https://gitee.com/Hzx_newmedia/python-file/raw/master/picture/fb1d28c2961704fb435b8ec9102c304.png) ### 用户日志数据流 ![](https://gitee.com/Hzx_newmedia/python-file/raw/master/picture/c772cdfd12611f9629a8882f131578b.png) ### 坐标天气api ![](https://gitee.com/Hzx_newmedia/python-file/raw/master/picture/f6a7d88396aa450ab4d04dbad8d4a7a.png) ### 拍照写诗数据流 ![](https://gitee.com/Hzx_newmedia/python-file/raw/master/picture/53ae79fe85e3823e75275ef9a5643e8.png) ### 美食卡路里/果蔬识别数据流 ![](https://gitee.com/Hzx_newmedia/python-file/raw/master/picture/cf334308b52b9484936d412a55f4676.png) ### 植物识别/动物识别数据流 ![](https://gitee.com/Hzx_newmedia/python-file/raw/master/picture/3c7c7e6aebad297a101e0c3e704d960.png) *** ## 项目文件流程图 ![](https://gitee.com/Hzx_newmedia/python-file/raw/master/picture/661fb011d36fc846f4954c49dce8374.png) # 云端项目部署的基本描述 ## 云服务器部署心得 1.首先购买云服务器,安装mobaxterm,在mobaxterm完成云部署,需参考少量Linux指令[Linux命令大全菜鸟教程](https://www.runoob.com/linux/linux-command-manual.html) 2.需要在自己的云服务器中的Linux中安装python3,Flask,并将本地项目拖拉至云服务器再进行部署项目。 可参考[手把手教你在Linux环境下安装Python3](https://blog.csdn.net/zhangdongren/article/details/82685932) 和[Linux安装flask环境](https://blog.csdn.net/qq_28877125/article/details/85013147) 3.在云服务器中安装mysql,并把本地的数据库数据导入云端的mysql,导入成功后修改该数据库端口.可参考[在Linux中安装mysql](https://www.cnblogs.com/lemon-feng/p/11233227.html)和[云数据库快速入门](https://www.57aliyun.com/archives/111) 4.安装screen,使得flask web 在脱离主机后依旧运行 可参考[如何在Linux安装screen](https://blog.csdn.net/u011192409/article/details/46744063)和[linux中screen命令](https://blog.csdn.net/han0373/article/details/81352663) 5.部署云服务器略微复杂。但可以通过csdn,百度等找到自己的答案。 ## 功能介绍及页面结构图(双击可放大) ![](https://gitee.com/Hzx_newmedia/python-file/raw/master/picture/a2a050f13f84cb3940c4c1f9830e961.png) *** # 学习心得总结及感谢 ## 心得: 本次python的期末项目对我来说具有一定挑战,首先第一个是构思自己要做一个怎么样的web,要有什么功能,功能之间有什么连接性,再者选做功能性的网站有没有什么办法能使用户体验更加。本次python项目我主要要到的是百度开放平台的图像识别api,知识图谱api,高德天气api。其中一个难点是怎么样修改图片接入的接口,百度的技术文档只给我们提供本地接入图片的代码,所以为了做到给用户提供便利,我在源代码的基础上加入了可以获取网络图片url的代码。在这里感谢这篇文章,及其作者[python爬取网络图片](https://blog.csdn.net/guo_ridgepole/article/details/86686638?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.control)使我受到启发。编程思维对本次项目的好处,培养自己在写代码时需一环扣一环的意识,将返回的数据有效结合,将两个看似毫无相关的api代码结合起来。挑战:写代码时需要冥思苦想,怎么把数据流通,实现功能。 ## 感谢 1.感谢游鸽老师本学期的悉心教导,感谢老师的付出,以及在课后花大量时间帮助我理解代码,理解数据库。在本次项目中感谢游鸽老师教导我如何在云服务器部署自己的flask,教会我用screen。 2.感谢许志超老师在api课上的课外辅导python知识,以及许老师在我安装linux的某些模块中给予的建议 3.感谢参与本项目评分的同学 ,感谢他们在此项目上的思考和指导,感谢他们给出合理的分数。 4.感谢上述所引用的所有文档及作者,下面再一次列举 |序号|所参考的所有文档|序号|所参考的所有文档| |--|--|--|--| |1|[python爬取网络图片](https://blog.csdn.net/guo_ridgepole/article/details/86686638?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.control)|2|[Linux命令大全菜鸟教程](https://www.runoob.com/linux/linux-command-manual.html)| |3|[手把手教你在Linux环境下安装Python3](https://blog.csdn.net/zhangdongren/article/details/82685932)|4|[Linux安装flask环境](https://blog.csdn.net/qq_28877125/article/details/85013147)| |5|[在Linux中安装mysql](https://www.cnblogs.com/lemon-feng/p/11233227.html)|6|[如何在Linux安装screen](https://blog.csdn.net/u011192409/article/details/46744063)| |7|[云数据库快速入门](https://www.57aliyun.com/archives/111)|8|[linux中screen命令](https://blog.csdn.net/han0373/article/details/81352663) |9|[注册登录数据流程](https://www.csdn.net/tags/MtjaYgzsNDE3MTUtZG93bmxvYWQO0O0O.html)|10|[菜鸟教程python3](https://www.runoob.com/python3/python3-tutorial.html)| |11|[w3c school python3](https://www.w3cschool.cn/python3/)|12|[菜鸟教程 html5](https://www.runoob.com/html/html-tutorial.html) |13|[css bootstrap](http://bootstrap.evget.com/css.html)|14|[html5 w3c school](https://www.w3cschool.cn/html5/)| |15|[使用云端服务器部署步骤](https://www.jianshu.com/p/54eef7579907)|16| [什么是api接口](https://www.cnblogs.com/isme-zjh/p/12714719.html) |17|[图像识别api技术文档](https://ai.baidu.com/ai-doc/IMAGERECOGNITION/tk3bcxbb0)|18|[知识图谱api技术文档](https://ai.baidu.com/ai-doc/NLP/ik3hbjj0v)| |19|[高德开放平台技术文档](https://lbs.amap.com/api/webservice/summary/)|20|[为什么云服务器配置较高但是响应速度比较慢](https://blog.csdn.net/subaomg/article/details/107999167)| |21|[python如何搭建flask](https://www.cnblogs.com/lsdb/p/10488448.html)|22|[python实现网络图片抓取](https://blog.csdn.net/yan_dk/article/details/89943810)|