过程
(推荐系统已基本实现,待添入至下载器)
-
确定一个不复杂的下载目录并声明出。
-
检查相关文件目录,统一相对路径表示。
-
使用者输入交互上的改善。
-
把矩阵、数据分集、推荐列表储存起来,提高程序运行效率。
-
优化代码结构,提高效率。
-
各功能之间的关联
-
(待解决)远程MySQL连接的设置:
工具:Navicat Premium
用户界面添加用户,最好别拿已有用户做实验!
编辑用户
设置权限
到这一步出现10060 error(尝试了许久,修改了管理权限,还是没法解决,我的IP地址一直ping不上) -
设计了一个程序图标
pyinstaller -F -i name.ico name.py
在线生成ICO图标
10.附专辑图片url(选中字体为albummid部分)
10. 爬取评论(这里挺多是借鉴的,因为正则表达式不大熟练)
笔记
-
文件路径
相对路径:同一个文件夹下的文件, 相对于当前这个程序所在的文件夹而言.。如果在同一个文件夹中. 则相对路径就是这个文件名。
# ../ 表示当前文件所在的目录的上一级目录 # ./ 表示当前文件所在的目录(可以省略) # / 表示当前站点的根目录(域名映射的硬盘目录) import os path1=os.path.abspath('.') # 表示当前所处的文件夹的绝对路径 print(path1) path2=os.path.abspath('..') # 表示当前所处的文件夹上一级文件夹的绝对路径 print(path2) # 动态绝对路径 import sys project_path = os.path.dirname(os.path.abspath(__file__)) # 获取当前文件路径的上一级目录 file_path = project_path+r'\db\123.txt' # 拼接路径字符串 with open(file_path,'w',encoding='utf-8') as f: f.write('abc') f.close()
-
规定输入整数
使用字符串的isdigit()方法或try-except(ValueError)while True: ## 布尔值的大写! try: number = int(input('请输入获取歌曲数目:')) except ValueError: print('输入格式有误,请输入正整数:')
-
因为我的推荐列表结构比较简单,所以我将其简单处理,保存为.txt。(需要将列表内容转为字符串格式)
with open('irank10.txt', 'w') as f: for i in range(len(rank)): s = str(rank[i]).replace('[', '').replace(']', '') # 去除[],这两行按数据不同,可以选择 s = s.replace("'", '') + '\n' # 巧妙去除单引号,逗号,每行末尾追加换行符 f.write(s) f.close() print("已保存推荐列表")
-
集合是不可变对象,而且无序!(每次打印结果能变化)
5. 再次提醒自己程序代码一定要先制定合理框架,免得顺着写下去时思路不定。