歌曲爬虫下载

devtools/2024/10/18 2:37:06/

本次编写一个程序要爬取歌曲音乐榜https://www.onenzb.com/ 里面歌曲。有帮到铁子的可以收藏和关注起来!!!废话不多说直接上代码。

1 必要的包

import requests
from lxml import html,etree
from bs4 import BeautifulSoup
import re
import pandas as pd

2 获取歌曲url和歌曲名称

url = 'https://www.onenzb.com/'    
header = {'User-Agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36'
}
response = requests.get(url=url, headers=header)
soup = BeautifulSoup(response.text, 'html.parser')  
print(soup)
url_list = []
song_name = []
for link in soup.find_all('a', href=lambda x: x and x.startswith('/music/')):# 提取href属性和title属性href = link.get('href')title = link.get('title')url_ = 'https://www.1nzb.com' + href   # 完整的urlurl_list.append(str(url_))song_name.append(str(title))
song_name = [song_name.replace('/','').replace('CV','').replace('砂狼白子(:安雪璃)早濑优香(:小敢)','') for song_name in song_name]
print(song_name)
print(url_list)

3 解析每首歌曲的url 以及歌名添加

for url,name in dict(zip(url_list,song_name)).items():print(url,name)print(name)header = {'User-Agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36'}response = requests.get(url=url, headers=header)soup = BeautifulSoup(response.text, 'html.parser')  # html.parser  lxmlmp3_links = [a['href'] for a in soup.find_all('a', href=True) if a['href'].endswith('.mp3')]# 输出找到的URLfor url in mp3_links:print(url)# MP3文件的URLmp3_url = url# 定义要保存的文件名filename = 'E:/学习/项目/歌曲爬虫/歌曲2/{}.mp3'.format(name)# 发送GET请求response = requests.get(mp3_url, stream=True)# 确保请求成功response.raise_for_status()# 写入文件with open(filename, 'wb') as f:for chunk in response.iter_content(chunk_size=8192):f.write(chunk)print('MP3文件已下载并保存为:', filename)

部分结果:

在这里插入图片描述


http://www.ppmy.cn/devtools/97055.html

相关文章

腾讯优图开源多模态大模型VITA : GPT-4o的简易平替!

Abs:https://arxiv.org/pdf/2408.05211 Demo:https://vita-home.github.io/ Code:https://github.com/VITA-MLLM/VITA GPT-4o 的卓越多模态能力和用户交互体验在实际应用中非常重要,但没有开源模型在这两个领域同时表现出色。本文…

【QT】Qt SDK的下载,安装和环境配置

目录 一,Qt SDK的下载二,Qt SDK的安装三,验证Qt SDK安装是否成功四,Qt环境变量配置 一,Qt SDK的下载 进入下面两个网站都可以进行下载: Qt 下载官⽹ 国内清华源 进⼊官⽹,按如下图⽰进⾏相应…

STM32F103C8T6单片机原理图设计(PCB板)

先了解了以下stm32f103c8t6的引脚使用: 对比过一些原理图,我发现除了特定协议的引脚功能,只要功能正确,可以自己选择连接对应的引脚。可以根据使用的LED/BEEP/DHT11/BH1750/ESP8266等模块的功能对应相应的引脚: WIFI(…

HTTP的认证方式

0.HTTP认证相关的一些基本概念 0.1 HTTP保护空间(HTTP Protection Space) 也称为认证领域(Authentication Realm),是指在HTTP认证中用来定义一组受保护资源的范围。保护空间通常由一个realm标识符来表示,它定义了用户需要提供凭据(如用户名和密码)才能访问的资源集合…

电商平台的推荐算法需要备案吗?

答案是肯定的! 政策要求: 根据我国《互联网信息服务算法推荐管理规定》(以下简称《规定》)第六条,具有舆论属性或社会动员能力的互联网信息服务,包括电商平台的推荐算法,需要进行备案。 电商平…

17、springboot3 vue3开发平台-前端-主页面布局搭建

文章目录 1. 修改App.vue2. 布局页面2.1 src\views\layout\Layout.vue2.2 src\views\layout\Aside.vue2.3 src\views\layout\Header.vue2.4 src\views\layout\MainView.vue2.5 src\views\layout\Footer.vue 1. 修改App.vue 项目采用vue router 来管理路由, 作为单页…

扫雷基础与进阶(附有详细解析)

前言:对于基础版扫雷,你需要掌握的知识有:循环与分支、函数基础、二维数组以及随机数函数(不懂可以看看我这篇文章《随机数函数 和 猜数字游戏》,需要了解rand,srand,time这三个函数);对于进阶版…

VueX 使用

1.简介 就是用来多组件共享数据的实现用的 2.使用VueX 因为使用的是vue2 所以下的是vuex3 若是vue3 必须下的是 vue4 npm i vuex3 3.搭建环境 1.创建 src/store/index.js //该文件用于创建一个Vuex中最为核心的store//引入VueX import Vuex from vuex import Vue from vu…