011. (4.13-4.15)音乐下载器代码的小修小改,再打包为可执行程序

初步修改,再打包为可执行程序

过程

(推荐系统已基本实现,待添入至下载器)

  1. 确定一个不复杂的下载目录并声明出。

  2. 检查相关文件目录,统一相对路径表示。

  3. 使用者输入交互上的改善

  4. 把矩阵、数据分集、推荐列表储存起来,提高程序运行效率。

  5. 优化代码结构,提高效率。

  6. 各功能之间的关联

  7. (待解决)远程MySQL连接的设置:
    工具:Navicat Premium
    在这里插入图片描述
    用户界面添加用户,最好别拿已有用户做实验!
    在这里插入图片描述
    编辑用户
    在这里插入图片描述
    设置权限
    在这里插入图片描述
    到这一步出现10060 error(尝试了许久,修改了管理权限,还是没法解决,我的IP地址一直ping不上)

  8. 设计了一个程序图标
    pyinstaller -F -i name.ico name.py
    在线生成ICO图标

  9. 打包
    Python项目打包发布方法

10.附专辑图片url(选中字体为albummid部分)在这里插入图片描述
10. 爬取评论(这里挺多是借鉴的,因为正则表达式不大熟练)

爬取QQ音乐精彩评论

笔记

  1. 文件路径

    相对路径:同一个文件夹下的文件, 相对于当前这个程序所在的文件夹而言.。如果在同一个文件夹中. 则相对路径就是这个文件名。

    #  ../ 表示当前文件所在的目录的上一级目录
    #   ./ 表示当前文件所在的目录(可以省略)
    #   / 表示当前站点的根目录(域名映射的硬盘目录)
    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()
    
  2. 规定输入整数
    使用字符串的isdigit()方法或try-except(ValueError)

      while True:                 ## 布尔值的大写!
          try:
              number = int(input('请输入获取歌曲数目:'))  
          except ValueError:
          	  print('输入格式有误,请输入正整数:')
    
  3. 因为我的推荐列表结构比较简单,所以我将其简单处理,保存为.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("已保存推荐列表")
    
  4. 集合是不可变对象,而且无序!(每次打印结果能变化)

5. 再次提醒自己程序代码一定要先制定合理框架,免得顺着写下去时思路不定。

猜你喜欢

转载自blog.csdn.net/u013598957/article/details/105501539
011