一、 构造url:

1. 进入酷狗音乐官方网站,点击酷狗TOP500,查看浏览器地址栏


可以看到地址为https://www.kugou.com/yy/rank/home/1-8888.html?from=rank;其中各个部分代码的含义如下:

字段 含义
https 传输协议
www.kugou.com 域名
yy/rank/home/abs 域名下的子网页
.html 代表网页是静态的
代表一种条件,后面接参数
1-8888 8888可能是端口,1代表当前页面数,TOP500一共有23页,从1-8888到23-8888

2. 知道了地址栏的含义,就可以构造url了,用以下代码构造

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

3. 构造请求头,防止反爬虫

下载fiddler,抓取访问酷狗官网时的包,点击打开,查看user-agent信息

headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/53\7.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36'}

二、 通过url获取网页源代码:

1. 下载Requests包

pip  install Requests

2. 获取目标网址的网页源代码

response = requests.get(url, headers=headers).text


成功将网页爬取到pycahrm中

三、 使用python的BeautifulSoup库提取所需信息:

1. BeautifulSoup库中有一个select函数,可以通过chrome的selctor自动识别

要截取的目标元素
按F12进入开发模式,找到目标元素对应的代码

右键,复制为selector

提取数据部分代码:

 html = BeautifulSoup(html)names=html.select('#rankWrap > div.pc_temp_songlist > ul > li > a')#获取歌手和歌曲名称for name in names:singer.append(name['title'].split('-')[0])song.append(name['title'].split('-')[1])#获取歌曲时长times = html.select('#rankWrap > div.pc_temp_songlist > ul > li> span.pc_temp_tips_r > span')for t in times:l = str(t)l = re.sub('\s+', ' ', l)l = re.search("(\d{1,2}:\d{1,2})", l)time.append(l.group(1))

四、 将获取的数据打包生产JSON格式:

1. 用zip函数将几个list打包并生成JSON格式数据

  d=[]size = list(range(500))for i, r, p, q in zip(size, singer, song, time):data = {'排名': i + 1,'演唱者': r,'歌曲名称': p,'歌曲时长': q}d.append(data)str_json = json.dumps(d, indent=2, ensure_ascii=False)

2. 保存到 'kugou.json文件中

with open('kugou.json, 'w') as f:f.write(json.dumps(str_json))

五、 测试JSON格式是否正确:

python代码
import json
with open('D:\pythonProject\exp\kugou.json,'r') as f:str_json=f.read()
str_json=json.loads(str_json)
print(str_json)

结果

爬取酷狗音乐TOP榜所有的歌曲信息相关推荐

  1. python爬虫-爬取酷狗音乐top榜

    酷狗音乐top500榜单就是我们今天需要爬取的对象,作为新手入门的代码,只需要将信息爬取下来即可,十分简单,不需要保存到数据库或保存到文件,仅当普通练习. https://www.kugou.com/ ...

  2. Python爬虫之爬取酷狗音乐歌曲

    Python爬虫之爬取酷狗音乐歌曲 1.安装第三方库 在Python的语言库中, 分为Python标准库和Python的第三方库. Python标准库是在你安装Python的时候已经包含在了安装目录下 ...

  3. Python爬虫爬取酷狗音乐TOP500

    Python大作业 内容简介: 用Python来爬取酷狗音乐TOP500的歌曲信息,统计这500首歌曲中出现的所有歌手,并做可视化处理生成词云 实验代码: import time import req ...

  4. Python爬虫入门——2. 2爬取酷狗音乐top1-500歌曲信息

    有了第一个程序的基础,我们现在来爬取酷狗音乐top500的歌曲信息.连接http://www.kugou.com/yy/rank/home/1-8888.html 我们第一个程序只爬取了一个页面的数据 ...

  5. Python爬取酷狗音乐-详解(多图预警)

    目录 1.前言 2.分析一下 1. 2. 3. 3.代码解释 4.完整代码 5.结语 1.前言 前面发布了一篇关于QQ音乐爬取的教程,但对于我们这种文艺青年来说,一个平台的歌曲怎么够我们听的,也是因为 ...

  6. python爬取酷狗音乐排行榜

    本文为大家分享了python爬取酷狗音乐排行榜的具体代码,供大家参考,具体内容如下 转载于:https://www.cnblogs.com/Pythonmiss/p/10799941.html

  7. Python爬虫案例:爬取酷狗音乐全排行榜歌曲

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 本次目标 爬取酷狗音乐全站排行榜歌曲 目标地址 https://www.ku ...

  8. Java爬虫系列之实战:爬取酷狗音乐网 TOP500 的歌曲(附源码)

    在前面分享的两篇随笔中分别介绍了HttpClient和Jsoup以及简单的代码案例: Java爬虫系列二:使用HttpClient抓取页面HTML Java爬虫系列三:使用Jsoup解析HTML 今天 ...

  9. scrapy_redis分布式爬取酷狗音乐

    scrapy_redis分布式爬取酷狗音乐 前言 安装scrapy_redis 创建scrapy项目 spider模块 items模块.pipelines模块 setting.py 调试 运行 成果图 ...

最新文章

  1. 股市币市:数据分析与交易所最新公告(20190301)
  2. mysql 5.5.修改库名_安全快速修改Mysql数据库名的5种方法
  3. Leetcode 147. 对链表进行插入排序 解题思路及C++实现
  4. PyCharm 3.0 发布,提供免费开源版本
  5. 地图距离算法_ORB-SLAM3 单目地图初始化(终结篇)
  6. 在虚拟宿主环境中承载 Active Directory 域控制器时需要考虑的事项
  7. Spring的组件自动扫描机制
  8. ubuntu16.04下微信和TIM的安装
  9. X-Scan-v3.3 漏洞扫描工具使用
  10. python生成图像公章_科学网—python pillow库 python界的ps 实现数据批量盖章 并打包成exe - 李鸿斌的博文...
  11. 大数据舆情监测平台_大数据舆情监测与分析平台有哪些?舆情大数据监测软件排名2020...
  12. c语言中用什么表示空串,C语言怎么表示空串
  13. python matrix用法_numpy中matrix使用方法
  14. poj3580:SuperMemo(块状链表/Splay)
  15. AIX 6.1新功能 之RAS,虚拟化,存储及文件系统,网络增强,参数调整 (转帖)
  16. 硬盘是计算机的 奥鹏,奥鹏2016计算机应用基础一
  17. java中未处理的异常_Java中未处理的异常
  18. 刨根问底:linux中bash shell中SIGHUP和SIGTERM信号的处理
  19. SG-UAP平台 : MX框架总结
  20. 达克效应 邓宁·克鲁格心理效应

热门文章

  1. C#遇到System.Drawing.Bitmap有问题
  2. VSCode中MarkDown图片无法显示
  3. 调查系统 php,PHP网上调查系统
  4. python猴子吃桃递归_Python猴子吃桃题源码​:请问第一天摘了多少桃?
  5. 怎么彻底清除C语言软件,【AUTO Uninstaller - 使用教程】Autodesk系列软件终极完美修复卸载工具【转载】...
  6. 不用火绒,从源头去除 WinRAR 的弹窗广告
  7. 深度解析推荐系统的算法原理
  8. 一种基于模板匹配的图像配准方法
  9. CefSharp 浏览器打开多个
  10. 游戏‘微信打飞机’ 第三课