上一篇介绍了爬网易云歌手id, 在这里我们可以用获取的id数据来构造歌手详情页的url。在这里呢我还是比较习惯使用selenium来爬。

简单介绍一下selenium:
它是浏览器的一个自动化测试框架,运行在浏览器中模拟人操作浏览器,支持Mozilla Firefox,Ie,Google Chrome,Safari,Opera等浏览器。在这里笔者用的是Chrome 72,使用里边的webdriver模块,可以加载出网页所有的源码,包括使用Ajax技术加载的网站,解决JavasScript渲染的问题。
参考:https://github.com/easonhan007/webdriver_guide/blob/master/README.md

很多的HTTP请求都带有参数,然而这些参数有时候是经过各种加密,相对于解密我倾向于直接使用驱动浏览器直接获取源码(悄悄地偷个懒),当然望网上也有很多直接从请求入手,抓包分析js代码了解加密方式进而解密抓取信息。这种方式也可行。

导一下需要用到的模块,因为要构造出url首先要先读出来我们获取的歌手id,并且把id放进数组方便后期使用。

from selenium import webdriver
from bs4 import BeautifulSoup
import csv
import time
id = open('F:/music/网易云歌手id.csv', 'r', encoding='utf-8-sig')
id_reader = csv.DictReader(id)
columns = [row['id'] for row in id_reader]

然后就是要打开浏览器,浏览器打开的时候可以是无界面的,当然可以设置成有界面。

# 打开浏览器
option = webdriver.ChromeOptions()
option.add_argument('--headless')
driver = webdriver.Chrome(options=option)
#有界面
#driver = webdriver.Chrome()
#driver.get(url)

接下来是歌曲的详情使用BeautifulSoup:

# 歌曲详细信息
for song_id in columns:song_names = []song_times = []song_edits = []song_ids = []url = 'https://music.163.com/#/artist?id='+str(song_id)driver.get(url)time.sleep(5)driver.switch_to.frame('g_iframe')code = driver.page_sourcesoup = BeautifulSoup(code, 'lxml')songs = soup.find_all('span', class_='txt')# 歌曲idfor songlinks in songs:song_link = songlinks.a['href'].replace('/song?id=', '')song_ids.append(song_link)#print(song_ids)#print(len(song_ids))# 歌曲名字for song in songs:song_name = song.b['title']song_names.append(song_name)#print(song_names)#print(len(song_names))# 歌曲时间times = soup.find_all('span', class_='u-dur')for tim in times:song_time = tim.textsong_times.append(song_time)#print(song_times)#print(len(song_times))#歌曲专辑edits = soup.find_all('div', class_='text')for edit in edits:song_edit = edit.a['title']song_edits.append(song_edit)#print(song_edits)#print(len(song_edits))

遍历数组写入文件:

 #写入文件try :for j in range(0, len(song_ids)):wr.writerow([song_ids[j], song_names[j], song_times[j], song_edits[j]])except Exception as e:print(e)i = i+1print('第'+str(i)+'次执行完毕')

笔者写的不好还请小伙伴们多多指教哦
未完待续…请关注下一篇网易云音乐评论。

python3 爬取网易云歌曲详情相关推荐

  1. python3爬取网易云歌曲的相关信息

    打开网易云音乐的[云音乐飙升榜]:https://music.163.com/#/discover/toplist ,按F12检查元素,切换到Network,然后选择Doc,可以查看接口得到的数据,如 ...

  2. 爬取网易云歌曲榜单中网易云歌曲及其对应id xpath csv re requests python

    基操爬取网易云歌曲榜单中网易云歌曲及其对应id 回顾xpath csv re requests 先进行基础抓包! 1 2 3 然后就是代码啦,兄弟们,我的代码都很完整,看懂思路,直接收藏复制粘贴就可以 ...

  3. Python爬取网易云歌曲评论,做词云分析

    前言 emmmm 没什么说的,想说的都在代码里 环境使用 Python 3.8 解释器 3.10 Pycharm 2021.2 专业版 selenium 3.141.0 本次要用到selenium模块 ...

  4. python3爬取网易云歌单数据清洗_如何利用Python网络爬虫爬取网易云音乐歌词

    赵雷的歌曲 本文以民谣歌神赵雷为数据采集对象,专门采集他的歌曲歌词,其他歌手的歌词采集方式可以类推,下图展示的是<成都>歌词. 赵雷歌曲---<成都> 一般来说,网页上显示的U ...

  5. python3爬取网易云歌单数据清洗_利用Python网络爬虫抓取网易云歌词

    今天小编给大家分享网易云音乐歌词爬取方法. 本文的总体思路如下:找到正确的URL,获取源码: 利用bs4解析源码,获取歌曲名和歌曲ID: 调用网易云歌曲API,获取歌词: 将歌词写入文件,并存入本地. ...

  6. Python利用selenium简单的爬取网易云歌曲排行榜

    最近学习了一下selenuim和XPath,技术还很菜,简单的爬取了一下网易云歌曲的排行榜信息,最后保存到mongodb里面 要爬取的部分如下图所示: 爬取每个歌曲的排名,名称,时长,歌手. 创建mo ...

  7. python3爬取网易云歌单数据清洗_网页抓取网易云音乐及评论数据分析

    网页抓取网易云音乐及评论数据分析 游贤 成都理工大学信息科学与技术学院 [摘 要] 摘要:为了分析网易云音乐中哪些歌曲是热门歌曲,哪些歌曲的评论 最多,从而了解到人们对于不同音乐类型的喜爱程度,采用成 ...

  8. 如何用Python爬取网易云歌曲?秘诀在这~

    说到近年来程序界最火的事情是什么呢?您一定会想到Python的兴起.根据研究,Python已经成为排名前三的语言.也许你会困惑,Python能这么火的原因是什么呢? 首先是Python工具上手很快,它 ...

  9. node爬取网易云歌曲

    起因:老爸让我下载几千首歌曲给他在车上播放,感觉手动下载,就算批量下载也要时间,索性写个爬虫自动下载吧.. 对于这个爬虫小项目,选择了node+koa2,初始化项目koa2 projectName(需 ...

最新文章

  1. 据说,程序员已成为女生年度最喜欢男友职业Top3?
  2. CSS之未知高度多行文本垂直居中
  3. 【错误记录】Visual Studio 中配置 NDK 头文件路径
  4. efcore mysql autofac_Asp.NetCore3.1版本的CodeFirst与经典的三层架构与AutoFac批量注入
  5. ABAP选择屏幕建议
  6. L3-020 至多删三个字符 (30 分)-PAT 团体程序设计天梯赛 GPLT
  7. CentOs 设置静态IP 方法[测试没问题]
  8. 财务有必要学python吗-8年老财务:财务分析学python就能提高效率?一半人是骗子...
  9. JS编程练习题(javascript)
  10. ie8升级到ie11
  11. 【Ubuntu】常用Vim插件
  12. UVa 10608 - Friends(并查集)
  13. ios app 下载地址收集(一点一点收集中...)
  14. 西南科技大学计算机综合大纲,西南科技大学(专业学位)计算机技术研究生考试科目和考研参考书目...
  15. 瓴羊DAAS闪耀云栖大会,发布数字化时代最优解
  16. 内核参数强制显示器显示
  17. 天馈线测试仪 是什么 具备什么样的功能
  18. flutter国内镜像
  19. Windows利用bat程序打开指定网址
  20. dayjs获取当月的下月的第一天时间

热门文章

  1. 育人优化计算机试题,优化公寓育人氛围,增强学生自律意识——数学系、计算机科学系开展PPT制作和个人简历制作大赛...
  2. Mac使用delete键向后删除字符
  3. python+selenium实现自动登录phpwind论坛自动随机发帖
  4. 计算机取证磁盘镜像研究,存储介质的计算机取证技术研究
  5. 《Metasploit渗透测试手册》—第3章3.2节Exploit用法快速提示
  6. 2022中国企业招聘科技趋势报告
  7. 优美抒情钢琴曲《kiss the rain》
  8. 数字援藏:像拼积木一样用低代码编程序
  9. 新建、扩建、改建、技改区分
  10. 360 奇酷行车记录仪12967p 安霸a7