python爬虫爬取酷狗音乐
老规矩,代码先行
# -*- codeing = utf-8 -*-
# @Time : 2021/2/25 13:17
# @Author : 老七疯狂吸氧
# @file 酷狗音乐.py
# @Software:PyCharm
import re
import requests
import os
import time
import json
headers = {'User-Agent': 'Chrome/10'
}
def main():print('例如:李荣浩的网址是:https://www.kugou.com/singer/93475.html', '\n', 'ID就是:93475')ID=input("请输入歌手ID:")url='https://www.kugou.com/singer/'+ID+'.html'html=requests.get(url,headers).textgetname(html)get_id(html)
def getname(html):findlink=re.compile(r"singername = '(.*?)',")singername=re.findall(findlink,html)[0]creat(singername)
def creat(singername): #创建文件夹if not os.path.exists(singername):os.mkdir(singername) # 如果该目录不存在就创建它os.chdir(singername)
def change(name):s=name.encode('utf-8').decode('unicode_escape')return s
def get_id(html):findlink0=re.compile(r',"album_id":(\d*),"')findlink1 = re.compile(r'"HASH":"(.*?)"')findlink2 = re.compile(r'"album_id":(\d*)')findlink3 = re.compile(r'"audio_name":"(.*?)"')findlink4 = re.compile(r'songsdata = \[\{(.*?)\}\]; ')zhuanjiID = re.findall(findlink0,html)html1 = re.findall(findlink4, html)[0]names = re.findall(findlink3, html1)IDS = re.findall(findlink2, html1)HASHs = re.findall(findlink1, html1)for ID,HASH,name in zip(IDS,HASHs,names):time.sleep(0.3)name=change(name)php(ID,HASH,name)
def php(ID,HASH,name):url='https://wwwapi.kugou.com/yy/index.php?r=play/getdata&callback=jQuery1910956225802756826_1614222592545&hash='+HASH+'&dfid=0iAXFx4XRmAm3c2qw92nfbs2&mid=93e241c9b3b4e69d69d918c14a4b773e&platid=4&album_id='+ID+'&_=1614222592547'html=requests.get(url,headers).textfindlink1=re.compile(r'"play_url":"(.*?)","')url=re.findall(findlink1,html)urlz='{"song_url":"'+url[0]+'"}'urlj=json.loads(urlz)with open(name+'.mp3','wb') as f:print("《",name,"》","下载中")f.write(requests.get(urlj['song_url']).content)f.close()print("下载完成",'\n')
if __name__ == '__main__':main()
具体的爬取过程有空再写,要不考虑考虑关注一波?
python爬虫爬取酷狗音乐相关推荐
- Python爬虫爬取酷狗音乐TOP500
Python大作业 内容简介: 用Python来爬取酷狗音乐TOP500的歌曲信息,统计这500首歌曲中出现的所有歌手,并做可视化处理生成词云 实验代码: import time import req ...
- python爬虫——爬取酷狗音乐top500(BeautifulSoup使用方法)
酷狗音乐Top500 酷狗top500http://www.kugou.com/yy/rank/home/1-8888.html?from=rank 进入,并按F12打开开发者工具(本文以火狐浏览器为 ...
- python爬虫-爬取酷狗音乐top榜
酷狗音乐top500榜单就是我们今天需要爬取的对象,作为新手入门的代码,只需要将信息爬取下来即可,十分简单,不需要保存到数据库或保存到文件,仅当普通练习. https://www.kugou.com/ ...
- Python爬虫 爬取酷狗TOP500的数据
根据书籍<从零开始学Python网络爬虫>P41,综合案例2-爬取酷狗TOP500的数据修改而来. 使用模块requests和模块BeautifukSoup进行爬取. 不得不说,酷狗拿来跑 ...
- python爬虫爬取酷狗top5001
前言 这段时间正在学习python爬虫,今天分享一个关于酷狗音乐top500的爬虫 python库 标准库 time 第三方库 requests库 BeautifulSoup库 自建库 agent库( ...
- Python爬虫之爬取酷狗音乐歌曲
Python爬虫之爬取酷狗音乐歌曲 1.安装第三方库 在Python的语言库中, 分为Python标准库和Python的第三方库. Python标准库是在你安装Python的时候已经包含在了安装目录下 ...
- Python爬虫入门——2. 2爬取酷狗音乐top1-500歌曲信息
有了第一个程序的基础,我们现在来爬取酷狗音乐top500的歌曲信息.连接http://www.kugou.com/yy/rank/home/1-8888.html 我们第一个程序只爬取了一个页面的数据 ...
- Python爬虫案例:爬取酷狗音乐全排行榜歌曲
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 本次目标 爬取酷狗音乐全站排行榜歌曲 目标地址 https://www.ku ...
- 爬虫训练(三):爬取酷狗音乐
今天趁机一鼓作气,把简单爬虫内容一次学习完毕,最后以爬取酷狗音乐排行榜歌曲作为结束,然后对此次学习做一个整理和总结.而且前两篇有些混乱,这里把内容做一次阶段性总结. 一.安装包 爬虫三大包:reque ...
最新文章
- Kotlin 中 switch 写法
- hive金额怎么转换千位分隔符_金额字段加千位分隔符方法
- React(二):类组件、函数式组件
- CentOS7 安装 Jenkins( 构建 Vue 和 dotNET Core )
- Apache Ant 1.9.13和1.10.5发布–支持Java 11单文件源程序
- java i/o 流详解_java I/O流详解
- 特征工程框架及技术要点
- jQuery1.9.1源码分析--Animation模块
- 常州模拟赛d3t2 灰狼呼唤着同胞
- Ps 初学者教程,如何使用图层蒙版合成图像?
- chrome developer tool 调试技巧2
- (转载)Druid创始人Eric Tschetter详解开源实时大数据分析系统Druid
- 2路10核物理服务器能否虚拟40vcpu,计算vCPU数量 依据公式
- 解决idea工具下tomcat中文乱码问题
- Java毕设项目房地产管理系统登录计算机(附源码+系统+数据库+LW)
- 乔治城大学计算机科学专业,乔治城大学计算机系
- 常用html5阅览器,最好的网页浏览器排行,速度最快的四大浏览器分享
- UOJ 265 NOIP 2016 DAY2 T3 浅谈预处理状态压缩动态规划
- 出击BI SAP推全新业务分析应用行业软件
- UNP编程:31---名字与地址转换之(服务解析函数:getservbyname()、getservbyport()、struct servent)