首页 > 编程语言 >Python抓取音乐音乐

Python抓取音乐音乐

时间:2023-07-11 21:33:02浏览次数:37  
标签:Python 音乐 list 抓取 lists url music music.163 print

# encoding=utf8
import requests
from bs4 import BeautifulSoup
import urllib.request

headers = {
    'Referer': 'http://music.163.com/',
    'Host': 'music.163.com',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36',
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
}

# 歌单的url地址
playurl = 'http://music.163.com/playlist?id='
id ='3778678'
play_url =playurl+id
print(play_url)
# 获取页面内容
s = requests.session()
response = s.get(play_url, headers=headers).content

# 使用bs4匹配出对应的歌曲名称和地址
s = BeautifulSoup(response, 'lxml')
main = s.find('ul', {'class': 'f-hide'})

lists = []
for music in main.find_all('a'):
    list = []
    # print('{} : {}'.format(music.text, music['href']))
    musicUrl = 'http://music.163.com/song/media/outer/url' + music['href'][5:] + '.mp3'
    musicName = music.text
    # 单首歌曲的名字和地址放在list列表中
    list.append(musicName)
    list.append(musicUrl)
    # 全部歌曲信息放在lists列表中
    lists.append(list)

print(lists)

# 下载列表中的全部歌曲,并以歌曲名命名下载后的文件,文件位置为当前文件夹
for i in lists:
    url = i[1]
    name = i[0]
    try:
        print('正在下载', name)
        urllib.request.urlretrieve(url, './网易音乐/%s.mp3' % name)
        print('下载成功')
    except:
        print('下载失败')

标签:Python,音乐,list,抓取,lists,url,music,music.163,print
From: https://blog.51cto.com/u_7301868/6692303

相关文章

  • 请不要再用被淘汰的Python库了,这几个新的更具优势!
    随着每个Python版本的发布,都会添加新模块,并引入新的更好的做事方式,虽然我们都习惯了使用好的旧Python库和某些做事方式,但现在也时候升级并利用新的和改进的模块及其特性了。Pathlib而不是OSpathlib绝对是Python标准库中最近添加的更大的内容之一,自Python3.4以来,它一......
  • django python manage.py migrate 后报错字段长度超了 django.db.utils.OperationalE
     现象:在models.py将CharField字段的maxlength=修改后,执行ythonmanage.pymigrate 报错django.db.utils.OperationalError:(1118 'Rowsizetoolarge.Themaximumrowsizefortheusedtabletype,notcountingBLOBs,is65535.Thisincludes storageoverhead,c......
  • python 之 mysql8 基础
    一、表操作1、查看当前所在的库>selectdatabase():+------------+|database()|+------------+|oldboy|+------------+2、usedatabase选择库3、查看表>showtables 查看有几个表>showcreatetablestudent; 查看创建表的过程+---------+-----------......
  • 使用Python读取图片
    一、Python学习两大道具1.dir()工具作用:支持打开package,看到里面的工具函数示例:(1)输出torch库包含的函数dir(torch)(2)输出torch.AVG函数中的参数dir(torch.AVG)2.help()工具作用:说明书,查看库中函数某个参数的说明或使用方法示例:(1)输出torch库中AVG......
  • 「Python」参数化查询防止SQL注入攻击
    importpymysql#1.链接mysqlconn=pymysql.connect(user='root',password="123",host='127.0.0.1',database='cars'#需要去数据库创建表,无法在此创建) #2.获取一个游标cursor=conn.cursor(cursor=pymysql.cursors.DictCursor)#返回的查询结果以字典的形式表示,其......
  • 基于python的租房网站-房屋出租租赁系统(python+django+vue)
    该项目是基于python/django/vue开发的房屋租赁系统/租房平台,作为本学期的课程作业作品。欢迎大家提出宝贵建议。功能介绍平台采用B/S结构,后端采用主流的Python+Django进行开发,前端采用主流的Vue.js进行开发。整个平台包括前台和后台两个部分。前台功能包括:首页、房屋详情页、......
  • 基于python+django的酒店预定网站-酒店管理系统
    该系统是基于python+django开发的酒店预定管理系统。适用场景:大学生、课程作业、毕业设计。学习过程中,如遇问题可在github给作者留言。演示地址前台地址:http://hotel.gitapp.cn后台地址:http://hotel.gitapp.cn/admin后台管理帐号:用户名:admin123密码:admin123源码地址h......
  • 基于python+django的外卖点餐网站-外卖点餐系统
    该系统是基于python+django开发的外卖点餐系统。适用场景:大学生、课程作业、毕业设计。学习过程中,如遇问题可以在github给作者留言。演示地址前台地址:http://food.gitapp.cn后台地址:http://food.gitapp.cn/admin后台管理帐号:用户名:admin123密码:admin123源码地址https......
  • python基础day42
    针对表的SQL语句有表的前提是先有库什么是表?表相当于是文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段。ps:先有库selectdatabase() 查看当前所在的库usedb1;          选择库1.查看表showtables;sho......
  • 基于python+django的宠物商店-宠物管理系统设计与实现
    该系统是基于python+django开发的宠物商店-宠物管理系统。是给师妹开发的课程作业。现将源码开放给大家。大家学习过程中,如遇问题可以在github咨询作者。演示地址前台地址:http://pet.gitapp.cn后台地址:http://pet.gitapp.cn/admin后台管理帐号:用户名:admin123密码:admin12......