一、准备工作

安装 requests 库和 beautifulsoup4 库:

requests 库是处理HTTP请求的一个简洁且简单的第三方库;beautifulsoup4 库是一个解析和处理HTML 和 XML 的第三方库。

二、对网站HTML源码进行分析

通过对 HTML 源码进行分析,“ 歌手-歌名 ” 信息被封存在标签中,标签在 “class=pc_temp_songlist” 的 标签中。因此,可以用在beautifulsoup4 中的 select 方法来进行筛选:

同样对歌曲时长的分析方法也是跟上面一样,对 select 的具体用法可以参考如下:

Python中在BeautifulSoup库里的find_all、select用法

三、爬取酷狗Top500的歌曲

import requestsfrom bs4 import BeautifulSoupimport json

# 获取网页的HTML源码

def getText(url): try: r = requests.get(url, timeout=30)

# get()函数的参数url必须链接采用HTTP或HTTPS方式访问,每次请求超时时间为30秒

r.raise_for_status()

# 返回的请求状态status_code不是200,这个方法会产生一个异常

r.encoding = 'utf-8'

# 对encoding属性赋值更改编码方式

return r.text except: return ""

# 解析HTML页面格式,提取有用信息

def getInfo(url): soup = BeautifulSoup(getText(url), 'html.parser')

# 创建一个BeautifulSoup对象

songs = soup.select('.pc_temp_songlist > ul > li >a')

# 获取包含“歌手-歌名”信息的标签

times = soup.select('.pc_temp_songlist > ul > li > span .pc_temp_time')

# 获取包含“歌曲时长”信息的标签

for song, time in zip(songs, times): data = { "singer": song.get_text().split('-')[0],

"song title": song.get_text().split('-')[1],

"time": time.get_text().strip() }

print(data) SONGS.append(data)SONGS = []if __name__ == '__main__':

urls = ['https://www.kugou.com/yy/rank/home/{}-8888.html'.format(str(i)) for i in range(1, 24)]

for url in urls: getInfo(url)

print("歌曲数量:", len(SONGS))

# 爬取的数据以JSON文件格式保存

with open('songs.json', 'w', encoding='utf-8')

as json_file: json_str = json.dumps(SONGS, ensure_ascii=False, indent=4)

json_file.write(json_str)

最终生成的json文件格式如下: 非常简单

python爬取音乐排行_Python爬取酷狗Top500的歌曲!够你吹个小牛皮了吧相关推荐

  1. python如何自制音乐软件_Python开发制作酷狗和QQ音乐下载器

    开发工具 **Python版本:**3.6.4 相关模块: requests模块 以及一些Python自带的模块. 环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块即可. 相关文件 ...

  2. python爬取音乐排行_python爬取网易云音乐热歌榜实例代码

    首先找到要下载的歌曲排行榜的链接,这里用的是: https://music.163.com/discover/toplist?id=3778678 然后更改你要保存的目录,目录要先建立好文件夹,例如我 ...

  3. Python爬取酷狗Top500的歌曲

    文章目录 文章目录 文章目录 一.准备工作 二.对网站HTML源码进行分析 三.爬取酷狗Top500的歌曲 一.准备工作 安装 requests 库和 beautifulsoup4 库: pip in ...

  4. Java也能做爬虫了?我爬取并下载了酷狗TOP500的歌曲!

    点击"开发者技术前线",选择"星标????" 在看|星标|留言,  真爱 作者:后山悟道人   链接:my.oschina.net/gllfeixiang/bl ...

  5. python爬取酷狗音乐top500_Python爬取酷狗Top500的歌曲!够你吹个小牛皮了吧!

    soup.select('.pc_temp_songlist > ul > li >a') 同样对歌曲时长的分析方法也如上,对 select 的具体用法可参考如下

  6. Python疫起学习·万丈高楼平地起Day09(精简版|浓缩就是精华)爬虫知识附上案例爬取北京地区短租房信息、爬取酷狗TOP500的数据以及爬取网易云音乐热歌榜单

    爬虫知识 Requests库 部分运行结果如下: 有时爬虫需要加入请求头来伪装成浏览器,以便更好地抓取数据.在Chrome浏览器中按F12键打开Chrome开发者工具,刷新网页后找到User-Agen ...

  7. Python网易云音乐单曲爬取

    Python网易云音乐单曲爬取 代码: import requests import osdef develop(path,url):song_url = urlsong_id = song_url[ ...

  8. 爬虫练习-爬取酷狗TOP500音乐信息

    前言: 同上篇爬虫练习-爬取小猪短租网北京地区短租房信息一样,均为极简的爬虫,仅仅爬取酷狗TOP500音乐信息(排名.歌手名.歌曲名.歌曲时长),可供入门和想入门的朋友学习. 本文为整理代码,梳理思路 ...

  9. Python爬虫 爬取酷狗TOP500的数据

    根据书籍<从零开始学Python网络爬虫>P41,综合案例2-爬取酷狗TOP500的数据修改而来. 使用模块requests和模块BeautifukSoup进行爬取. 不得不说,酷狗拿来跑 ...

最新文章

  1. 怎么锁定电脑屏幕_和平精英怎么在电脑上玩?匹配手机最简单的方式玩你值得拥有...
  2. Spring Boot的Tomcat 启动详解
  3. Hadoop教程(一):简介、大数据解决方案、介绍快速入门
  4. 台式计算机是32位还64位,怎么看电脑是32位还是64位
  5. csv导入mysql phpmyadmin_【转】从phpMyAdmin批量导入Excel内容到MySQL(亲测非常简洁有效)...
  6. Qt多线程-QThreadPool线程池与QRunnable
  7. 【4K HDR】2020年东京圣诞灯会/
  8. 【优化算法】缎面弓箭鸟优化(SBO)【含Matlab源码 1432期】
  9. python交通流预测算法_基于遗传算法优化LSTM神经网络的交通流预测方法与流程...
  10. 传统的固定思维和敏捷思维的对比
  11. 惠普服务器u盘启动找不到硬盘,U盘启动找不到硬盘怎么回事?
  12. 查询课程数mysql_mysql_数据查询练习
  13. Word学习笔记:P6-文档封面、页眉、页脚设置
  14. 现代电子计算机音乐制作,现代电子音乐制作利器——Alesis VI61 MIDI键盘
  15. 极光推送在APICloud平台的使用教程
  16. SELCO T2900.0010有一种保护器叫幸福
  17. Arduino与Proteus仿真实例-NTC热敏电阻驱动仿真
  18. 国内外语音识别行业最全盘点及技术分析和预测
  19. python模拟抽奖
  20. 溢信IP guard文档加密系统控制台看着正常客户端无加密图标问题解决

热门文章

  1. thinkpad怎么把计算机设置到桌面,教你thinkpad桌面设置为纯色以及macbook笔记本怎么...
  2. python牛顿迭代法推导求根的迭代公式_推导牛顿迭代法
  3. react中settimeout_react 中运用setTimeout
  4. mPaaS 3.0 多媒体组件发布 | 支付宝百亿级图片组件 xMedia 锤炼之路 (图片缓存篇)... 1
  5. 一.投资基本面分析(微观宏观经济)
  6. Winsock的初始化与销毁(WSAStartup)
  7. SAP搜索帮助内部错误:表格格式
  8. CWnd SetCapture ReleaseCapture GetCapture
  9. egg Cannot find mod ule ‘ali-rds‘ 解决方案
  10. 106码号办理需要具备的条件和需要的材料