大家好,我是不温卜火,是一名计算机学院大数据专业大三的学生,昵称来源于成语—不温不火,本意是希望自己性情温和。作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己所犯的错误希望能够帮助到很多和自己一样处于起步阶段的萌新。但由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!暂时只在csdn这一个平台进行更新,

PS:如有侵权联系小编删除!著作权归作者所有!

前几篇博文,爬取的都是比较常规的网站。大家是不是都有点腻了呢?如果大家感觉腻了的话,博主此次带来的比较新奇的内容。如果大家没有腻的话,当我没说。话不多说,网抑云时间到了!

一、URL分析

在此,博主爬取的是网易云网页版,因为一般网页版都是最好爬取的,不要问我为什么,问就是不会!

网易云网页版链接:https://music.163.com/
歌手信息链接:https://music.163.com//discover/artist

但是由上图我们可以看出,虽然直接给出了网页链接,但是我们通过查看网页源代码,发现我们想要爬取的信息并没有在这个网页中。

这个时候,我们就需要通过Sreach查找歌手信息,从而得到我们所需要的各种信息。

我们首先就以薛之谦为例

通过上图,我们可以知道我们所需要的爬取内容的网址:

我们可以多尝试几次,然后就会发现每个分类代表其中一个id

规律来了,那么我们是不是就可以使用xpath进行解析提取了呢? 我们可以先试验一下:

我们发现这个页面是不能直接使用xpath进行解析得,xpath只能解析html标签。因为该网页携带有iframe标签,内容有不规则内容。

既然出现问题了,那么我们首先要想的就是要解决xpath不能进行解析这一问题。

通过验证我们发现,虽然在页面插件中不能访问,但是我们发现向另一个url发送请求依然可以获取数据,且里面没有iframe,可以直接使用xpath。

测试代码如下:

import requests
from lxml import etreeheaders={'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36',
}
base_url = "https://music.163.com/discover/artist/cat?id=1001"response = requests.get(url=base_url, headers=headers)
html = response.content.decode("utf-8")
print(html)
1234567891011

我们通过查找iframe,发现里面没有包含iframe,这里就可以直接使用xpath进行解析了

查找华语男歌手

先把华语男歌手这一部分复制出来

<li><a href="/discover/artist/cat?id=1001"
class="cat-flag z-slt"
data-cat="1001">华语男歌手</a>
</li>
1234

我们先来尝试使用xpath进行解析

# 只有华语男歌手
ret = etree_obj.xpath('//a[@class="cat-flag z-slt"]/text()')
print(ret)
123

一文带你快速爬取网易云音乐,就是这么简单!相关推荐

  1. 爬虫入门经典(十) | 一文带你快速爬取网易云音乐

      大家好,我是不温卜火,是一名计算机学院大数据专业大三的学生,昵称来源于成语-不温不火,本意是希望自己性情温和.作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己 ...

  2. Python带你面向对象爬取网易云音乐

    网易云音乐网页版API接口 前缀(主域名):http://music.163.com 1.1 获取歌词 请求地址:/api/song/lyric?id=xxxxx&lv=1&kv=1& ...

  3. 爬取网易云音乐个人动态中的视频(Ⅱ): 分析并获取api

    回顾和概览 在 爬取网易云音乐个人动态中的视频(Ⅰ) 中简单的分析了一下需要做什么, 现在要做的就是获取网易云的api, 很遗憾, 网易云并没有开放api出来, 但是我们可以对网页进行调试, 尝试从中 ...

  4. 爬虫练习:爬取网易云音乐热歌榜全部歌曲的热门评论

    目标:爬取网易云音乐热歌榜中全部歌曲(共200首)的热门评论(每首歌有15个热门评论) 分析: 需要分两步走,第一步是定位到热歌榜单所在的资源,从而得到这热歌榜中到底有哪些歌并获得每首歌的id:第二步 ...

  5. 如何用Python网络爬虫爬取网易云音乐歌曲

    今天小编带大家一起来利用Python爬取网易云音乐,分分钟将网站上的音乐down到本地. 跟着小编运行过代码的筒子们将网易云歌词抓取下来已经不再话下了,在抓取歌词的时候在函数中传入了歌手ID和歌曲名两 ...

  6. Python网络爬虫实践(1):爬取网易云音乐播放量大于1000万的歌单

    Python网络爬虫实践(1) 一.需求分析 爬取网易云音乐播放量大于1000万的歌单. 二.实施步骤 1.安装selenium selenium是一个用于Web应用自动化程序测试的工具,测试直接运行 ...

  7. python网络爬虫网易云音乐下载_python网络爬虫爬取网易云音乐

    #爬取网易云音乐 url="https://music.163.com/discover/toplist" #歌单连接地址 url2 = 'http://music.163.com ...

  8. Python 爬取网易云音乐所有评论

    题图:by cfunk44 from Instagram 在使用 Ajax 技术加载数据的网站中, JavaScript 发起的 HTTP 请求通常需要带上参数,而且参数的值都是经过加密的.如果我们想 ...

  9. Selenium解决动态渲染页面----爬取网易云音乐全部评论

    爬取网易云音乐全部评论,我们先随便找一首歌,这里以毛不易的水乡为例.毛不易–水乡 一.常规方法 1. 尝试直接爬取 先直接用歌曲链接直接爬取 import requests#URL url = 'ht ...

最新文章

  1. ‘mmdet\ops\nms\src/soft_nms_cpu.pyx‘ doesn‘t match any files
  2. Qt学习笔记之项目管理(pro)文件
  3. 安装Docker的三种方式
  4. java让对象分配在栈上_java – Hotspot何时可以在堆栈上分配对象?
  5. css hack技巧_5种减少Hack的编码技巧
  6. 图的BFS和DFS原理及实例分析(java)
  7. 利用Vmware workstation安装MS-DOS使用Turbo C 2.0
  8. 未来计算机的新技术有哪些,科技改变生活!人类未来的十大高科技生活
  9. 详解高级前端面试常问的EventLoop
  10. html thead作用,html元素thead标签的使用方法及作用
  11. 计算机如何调成音乐,如何调出适用于我的均衡器设置?
  12. 【深度学习】:详解目标检测YOLO V1(You Only Look Once)算法
  13. frl啥意思_frlday是什么意思
  14. 将任意窗口固定到桌面最前端
  15. jupyter notebook调试流程
  16. netty报错:io.netty.channel.ChannelPipelineException
  17. linux命令查看系统硬件的版本(dmidecode)
  18. Java 插入排序 希尔排序
  19. qt中文转字节_QT字符编码转换,可用于中文内码传输
  20. DPA华为备份一体机异机恢复达梦数据库

热门文章

  1. mklink命令——目录的“快捷方式”
  2. 软件测试面试问题-接口测试
  3. 其实你也可以做出一个抖音(文末实战项目分享)
  4. 360视频质量评估标准:WS-PSNR及对应代码实现部分
  5. git stash 强制恢复_git stash恢复
  6. mysql 用户赋予全部权限_mysql 给用户赋值权限
  7. TCP 长连接和短连接:
  8. python 制作字符视频_用Python生成抖音字符视频!
  9. java sse_SSE:服务器发送事件,使用长链接进行通讯
  10. CCG合约量化:DeFi 中的流动性池是什么以及它们如何工作?