首页 > 编程语言 >不怕新歌有多嗨,就怕老歌带DJ,用Python批量下载dj歌曲!

不怕新歌有多嗨,就怕老歌带DJ,用Python批量下载dj歌曲!

时间:2022-10-19 14:45:57浏览次数:76  
标签:dj Python re 模块 import DJ requests

俗话说,不怕新歌有多嗨,就怕老歌带dj,为了验证这句话,于是我直接找了个dj网,用Python把dj都下载下来,亲身体验一下!

环境模块

软件

Python3.8
pycharm2021

 

模块

import requests
import re

 

requests是数据请求模块,第三方模块,需要手动安装一下,win+r打开运行框,输入cmd按回车,然后输入 pip install ​requests 按回车即可安装。

re是正则表达式模块,不需要安装,自带的。​

效果展示

 

 

代码展示

 

 

代码仅做展示

import requests
import re
# Python学习交流群 708525271

url = 'http://www.36dj.com/xc/'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
}
response = requests.get(url=url, headers=headers)
id_list = re.findall('><a href="/play/(\d+)/" title=', response.text)
for index in id_list:
    link = f'http://www.36dj.com/play/{index}/'
    response_1 = requests.get(url=link, headers=headers)
    response_1.encoding = response_1.apparent_encoding
    mp3_info = re.findall('var music_name = "(.*?)"; var info = \{ "playurl": "(.*?)"', response_1.text)
    title = mp3_info[0][0]
    # http://tn1.72djapp.cn:8399/2022/3606/23t/16394.m4a
    mp3_url = 'http://tn1.72djapp.cn:8399/' + mp3_info[0][1]
    mp3_content = requests.get(url=mp3_url, headers=headers).content
    with open('mp3\\' + title + '.mp3', mode='wb') as f:
        f.write(mp3_content)
    print(title, mp3_url)

 

 

最后推荐一套Python教程给大家,希望对大家有所帮助:代码总是学完就忘记?100个Python实战项目!让你沉迷学习丨学以致用丨下一个大神就是你!

标签:dj,Python,re,模块,import,DJ,requests
From: https://www.cnblogs.com/hahaa/p/16806171.html

相关文章

  • python+selenium环境搭建
    1、首先命令行进入到python安装目录的scripts目录下2、使用pip3installselenium,由于我是安装过的,所以会提示这个3、将谷歌浏览器的driver放到python安装目录下4、代码验证......
  • python语言:将多张图片压成一段视频——利用opencv-python库实现
     相关代码例子参见:​​All_finished_Demo.py​​   =========================================   这里将的功能就是用python语言实现将多张照片压成一段视频,使用的......
  • python编程中的circular import问题
    循环引入,circularimport是编程语言中常见的问题,在C语言中我们可以使用宏定义来处理,在c++语言中我们可以使用宏定义和类的预定义等方式来解决,那么在python编程中呢? 其实在p......
  • 通过python核对zabbix 主机是否被监控
       主机监控和资产管理应该是一套完整的系统,但当公司还不具规模或系统建设不完善。两套数据相互独立。可能会漏掉部分主机监控,出现故障就显得尤为尴尬(如磁盘满了,未及时......
  • Python报AttributeError: module 'string' has no attribute 'join'解决方法
     报:AttributeError:module'string'hasnoattribute'join' 属性错误:模块“string”没有属性“join” 解决方法:因为python版本升级,函数名称已有改变,只需要将strin......
  • django 数据库model取值转为字典(或json)
    ​方法一,使用model_to_dictfromdjango.forms.modelsimportmodel_to_dict​list=ProjectCase.objects.filter(prj_id=prj_id).order_by('-prc_id')​data=[]......
  • Python的Bs4解析库的学习与使用
    BeautifulSoup简称BS4(其中4表示版本号)是一个Python第三方库,它可以从HTML或XML文档中快速地提取指定的数据。提供一些简单的、python式的函数用来处理导航、搜索......
  • python常识系列07-->python利用xlwt写入excel文件
    前言读书之法,在循序而渐进,熟读而精思。——朱熹抽空又来写一篇,毕竟知识在于分享!一、xlwt模块是什么python第三方工具包,用于往excel中写入数据;(ps:只能创建新表格,不能修改......
  • Day4:Python列表、元组的方法
    1、编码ascii:字母,数字,特殊字符:1个字节,8位Unicode:16位两个字节升级32位四个字节utf-8:最少一个字节8位表示。英文字母8位1个字节......
  • python manage.py startapp XXX报错【TypeError: unsupported operand type(s) for /:
    查看日志提示【 'DIRS':[BASE_DIR/'templates']】【 File"D:\study\test\djangoProject\djangoProject\settings.py",line57,in<module>】找到setting文件的li......