吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6384|回复: 70
收起左侧

[学习记录] Python自学笔记(13)------python爬虫爬取网易云音乐

  [复制链接]
l2430478 发表于 2021-7-31 21:10
很久没有python了,看到大家都还在学习,我再发一贴,直接上代码!
[Python] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# -*- codeing = utf-8 -*-
# [url=home.php?mod=space&uid=238618]@Time[/url] : 2021/2/20 16:12
# [url=home.php?mod=space&uid=686208]@AuThor[/url] : 老七疯狂吸氧
# [url=home.php?mod=space&uid=267492]@file[/url] kowyy.py
# @Software:PyCharm
import re
import requests
import os
import time
headers = {
    'User-Agent': 'Chrome/10'
}
def main():
    print('例如:罗大佑的网址是:[url]https://music.163.com/#/artist?id=3686'[/url],'\n','ID就是:3686')
    ID=input("请输入歌手ID:")
    url='https://music.163.com/artist?id='+ID
    html=requests.get(url,headers).text
    get_id(html)
 
def get_id(html):
    findlink=re.compile(r'<a href="/song\?id=(\d*)">(.*?)</a></li><li>')
    findname=re.compile(r'<h2 id="artist-name" data-rid=\d* class="sname f-thide sname-max" title=".*?">(.*?)</h2>')
    singername=re.findall(findname,html)[0]
    creat(singername)
    ll=re.findall(findlink,html)
    for i in ll:
        savemusic(i[1],i[0])
        time.sleep(0.5)
def creat(singername):          #创建文件夹
    if not os.path.exists(singername):
        os.mkdir(singername)  # 如果该目录不存在就创建它
    os.chdir(singername)
def savemusic(name,id):     #保存文件
    url='http://music.163.com/song/media/outer/url?id='+id+'.mp3'
    with open(name+'.m4a','wb') as f:
        print('歌曲《',name,'》 下载中***************')
        f.write(requests.get(url=url,headers=headers).content)
        f.close()
        print("《",name,"》下载完成")
        print('')
if __name__ == '__main__':
    main()

免费评分

参与人数 12吾爱币 +10 热心值 +9 收起 理由
春又来人已去 + 1 + 1 热心回复!
WIRSINK + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
derlangdang1 + 1 + 1 我很赞同!
lt辣条王中王 + 1 + 1 我很赞同!
hxy815845966 + 1 + 1 谢谢@Thanks!
xiaoke0226 + 1 谢谢@Thanks!
MetalMax + 1 我很赞同!
pikaqiuqiuqiu + 1 + 1 谢谢@Thanks!
doctrine9 + 1 + 1 热心回复!
iandros + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
DafeiG + 1 谢谢@Thanks!
薇尔莉特 + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

QingYi. 发表于 2021-7-31 21:16
28行的 time.sleep(0.5) 具体作用是什么?
Fiora 发表于 2021-7-31 21:18
xiaoqu525 发表于 2021-7-31 21:34
LFM 发表于 2021-7-31 21:36
QingYi. 发表于 2021-7-31 21:16
28行的 time.sleep(0.5) 具体作用是什么?

间隔0.5秒
klmatao 发表于 2021-7-31 21:38
QingYi. 发表于 2021-7-31 21:16
28行的 time.sleep(0.5) 具体作用是什么?

计算机访问链接的速度很快,一秒钟可以访问几千上万的链接。这句的作用就是放慢访问的速度,避免由于访问次数过多造成服务器压力和被封IP地址
那年夏天52 发表于 2021-7-31 21:47
感谢分享
playkongfu 发表于 2021-7-31 21:48
感谢分享
tomato123123 发表于 2021-7-31 21:51
666,厉害
Horizon8945 发表于 2021-7-31 21:54
搬砖啦!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-5-21 00:24

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表