python3 爬取网易云歌曲详情
上一篇介绍了爬网易云歌手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 爬取网易云歌曲详情相关推荐
- python3爬取网易云歌曲的相关信息
打开网易云音乐的[云音乐飙升榜]:https://music.163.com/#/discover/toplist ,按F12检查元素,切换到Network,然后选择Doc,可以查看接口得到的数据,如 ...
- 爬取网易云歌曲榜单中网易云歌曲及其对应id xpath csv re requests python
基操爬取网易云歌曲榜单中网易云歌曲及其对应id 回顾xpath csv re requests 先进行基础抓包! 1 2 3 然后就是代码啦,兄弟们,我的代码都很完整,看懂思路,直接收藏复制粘贴就可以 ...
- Python爬取网易云歌曲评论,做词云分析
前言 emmmm 没什么说的,想说的都在代码里 环境使用 Python 3.8 解释器 3.10 Pycharm 2021.2 专业版 selenium 3.141.0 本次要用到selenium模块 ...
- python3爬取网易云歌单数据清洗_如何利用Python网络爬虫爬取网易云音乐歌词
赵雷的歌曲 本文以民谣歌神赵雷为数据采集对象,专门采集他的歌曲歌词,其他歌手的歌词采集方式可以类推,下图展示的是<成都>歌词. 赵雷歌曲---<成都> 一般来说,网页上显示的U ...
- python3爬取网易云歌单数据清洗_利用Python网络爬虫抓取网易云歌词
今天小编给大家分享网易云音乐歌词爬取方法. 本文的总体思路如下:找到正确的URL,获取源码: 利用bs4解析源码,获取歌曲名和歌曲ID: 调用网易云歌曲API,获取歌词: 将歌词写入文件,并存入本地. ...
- Python利用selenium简单的爬取网易云歌曲排行榜
最近学习了一下selenuim和XPath,技术还很菜,简单的爬取了一下网易云歌曲的排行榜信息,最后保存到mongodb里面 要爬取的部分如下图所示: 爬取每个歌曲的排名,名称,时长,歌手. 创建mo ...
- python3爬取网易云歌单数据清洗_网页抓取网易云音乐及评论数据分析
网页抓取网易云音乐及评论数据分析 游贤 成都理工大学信息科学与技术学院 [摘 要] 摘要:为了分析网易云音乐中哪些歌曲是热门歌曲,哪些歌曲的评论 最多,从而了解到人们对于不同音乐类型的喜爱程度,采用成 ...
- 如何用Python爬取网易云歌曲?秘诀在这~
说到近年来程序界最火的事情是什么呢?您一定会想到Python的兴起.根据研究,Python已经成为排名前三的语言.也许你会困惑,Python能这么火的原因是什么呢? 首先是Python工具上手很快,它 ...
- node爬取网易云歌曲
起因:老爸让我下载几千首歌曲给他在车上播放,感觉手动下载,就算批量下载也要时间,索性写个爬虫自动下载吧.. 对于这个爬虫小项目,选择了node+koa2,初始化项目koa2 projectName(需 ...
最新文章
- 据说,程序员已成为女生年度最喜欢男友职业Top3?
- CSS之未知高度多行文本垂直居中
- 【错误记录】Visual Studio 中配置 NDK 头文件路径
- efcore mysql autofac_Asp.NetCore3.1版本的CodeFirst与经典的三层架构与AutoFac批量注入
- ABAP选择屏幕建议
- L3-020 至多删三个字符 (30 分)-PAT 团体程序设计天梯赛 GPLT
- CentOs 设置静态IP 方法[测试没问题]
- 财务有必要学python吗-8年老财务:财务分析学python就能提高效率?一半人是骗子...
- JS编程练习题(javascript)
- ie8升级到ie11
- 【Ubuntu】常用Vim插件
- UVa 10608 - Friends(并查集)
- ios app 下载地址收集(一点一点收集中...)
- 西南科技大学计算机综合大纲,西南科技大学(专业学位)计算机技术研究生考试科目和考研参考书目...
- 瓴羊DAAS闪耀云栖大会,发布数字化时代最优解
- 内核参数强制显示器显示
- 天馈线测试仪 是什么 具备什么样的功能
- flutter国内镜像
- Windows利用bat程序打开指定网址
- dayjs获取当月的下月的第一天时间
热门文章
- 育人优化计算机试题,优化公寓育人氛围,增强学生自律意识——数学系、计算机科学系开展PPT制作和个人简历制作大赛...
- Mac使用delete键向后删除字符
- python+selenium实现自动登录phpwind论坛自动随机发帖
- 计算机取证磁盘镜像研究,存储介质的计算机取证技术研究
- 《Metasploit渗透测试手册》—第3章3.2节Exploit用法快速提示
- 2022中国企业招聘科技趋势报告
- 优美抒情钢琴曲《kiss the rain》
- 数字援藏:像拼积木一样用低代码编程序
- 新建、扩建、改建、技改区分
- 360 奇酷行车记录仪12967p 安霸a7