吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

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

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

  [复制链接]
l2430478 发表于 2021-7-31 21:10
很久没有python了,看到大家都还在学习,我再发一贴,直接上代码!
[Python] 纯文本查看 复制代码
# -*- 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, 2024-11-25 16:42

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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