python3 爬取全名k歌

代码:

import re
import requests
import ssl
ssl._create_default_https_context=ssl._create_unverified_context
k=0
if __name__ == '__main__':
url = 'https://kg.qq.com/node/personal?uid=649c9583262436'
params={
'uid':'649c9583262436'
}
headers={
'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'
}
response=requests.get(url=url,headers=headers,params=params)
p='<a href="(https://node.kg.qq.com/play?.+?g_f=personal)"'
new_url=re.findall(p,response.text)
new_url = set(new_url)
new_url = list(new_url)
print(new_url)
for i in new_url:
new_p = '"playurl":"(http:.+?sdtfrom=v1506.+?)"'
response2 = requests.get(url=i, headers=headers)
music_url=re.findall(new_p, response2.text)[0]
print(music_url)
if music_url:
music_url=music_url
response3=requests.get(url=music_url,headers=headers)
with open('%s.m4a'%k,'wb')as f:
f.write(response3.content)
k+=1

效果图:

关于优化:

1.歌曲名字优化:用正则匹配歌曲名,并赋给歌曲

2.速度优化:开启多线程,实现并发,提高效率

3.查看更多优化:获取查更多的连接,下载剩下的歌曲

4.软件优化:做成软件,增加前端界面,输入连接就可以下载

最新文章

  1. 在 ML2 中配置 OVS flat network - 每天5分钟玩转 OpenStack(133)
  2. 模仿Linux内核kfifo实现的循环缓存
  3. Java 性能分析工具 , 第 2 部分:Java 内置监控工具
  4. #笔记# CSS工作流
  5. ASP.NET MVC系列:为视图添加查询功能
  6. Runnable,Thread实现多线程以及Runnable的同步资源共享
  7. ubuntu 下 数学库编译链接时找不到各种数学问题解决方法 can not fon atan 等等
  8. 采用jsp用表格的形式显示
  9. mysql函数操作
  10. HDU 5798 Stabilization
  11. UWP win10 app 新关键字x:Bing
  12. JS的进阶技巧
  13. Oracle 所有字典
  14. Spring中,applicationContext.xml 配置文件在web.xml中的配置详解
  15. Git学习笔记--- diff工具 kdiff3
  16. javascript 跑马灯
  17. DOM 中的 id 属性会往全局变量中添加 id 值的变量
  18. &lt;转&gt;查看linux占用内存/CPU最多的进程
  19. AutoLayout中使用UIScrollView
  20. 飞飞影视cms标签

热门文章

  1. Android的几种Manager
  2. Linux系统中存储设备的两种表示方法
  3. 将dataframe分割为训练集和测试集两部分
  4. jeecg中excel导出字段判空处理
  5. Python字符串常用方法(二)
  6. #20175201 实验一 Java开发环境的熟悉(Linux + Eclipse)
  7. defaultdict(list)
  8. c# 有序链表合并 链表反转
  9. #WEB安全基础 : HTTP协议 | 0x12 MIME多用途邮件扩展以及多部分对象集合
  10. IDEA 201809 Jrebel安装破解