详解python selenium 爬取网易云音乐歌单名


Posted in Python onMarch 28, 2019

目标网站:

详解python selenium 爬取网易云音乐歌单名

首先获取第一页的数据,这里关键要切换到iframe里

详解python selenium 爬取网易云音乐歌单名

打印一下

详解python selenium 爬取网易云音乐歌单名

获取剩下的页数,这里在点击下一页之前需要设置一个延迟,不然会报错。

详解python selenium 爬取网易云音乐歌单名

结果:

详解python selenium 爬取网易云音乐歌单名

一共37页,爬取完毕后关闭浏览器

完整代码:

url = 'https://music.163.com/#/discover/playlist/'

from selenium import webdriver
import time
# 创建浏览器对象
window = webdriver.Chrome('./chromedriver')
window.get(url)
time.sleep(1)
# 切换到iframe窗口
iframe = window.find_element_by_id('g_iframe')
window.switch_to.frame(iframe)
music_list = window.find_elements_by_xpath('//ul[@class="m-cvrlst f-cb"]/li')
for music_element in music_list:
 print(music_element.text)
 print()
print('*'*20)

page = 1
# 开始提取
while True:
 time.sleep(2)
 # 获取下一页
 next = window.find_element_by_link_text('下一页')
 if not next.get_attribute('class') == 'zbtn znxt js-disabled':
  next.click()
 else:
  break
 time.sleep(1)
 # 提取数据
 music_list = window.find_elements_by_xpath('//ul[@class="m-cvrlst f-cb"]/li')
 for music_element in music_list:
  print(music_element.text)
  print()
 print(page,'*'*20)
 page+=1
# 退出浏览器
window.quit()

以上所述是小编给大家介绍的python selenium爬取网易云音乐歌单名详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
使用Python判断质数(素数)的简单方法讲解
May 05 Python
Python在不同目录下导入模块的实现方法
Oct 27 Python
python Pygame的具体使用讲解
Nov 03 Python
Pandas 合并多个Dataframe(merge,concat)的方法
Jun 08 Python
pycharm的console输入实现换行的方法
Jan 16 Python
pandas实现to_sql将DataFrame保存到数据库中
Jul 03 Python
python能做什么 python的含义
Oct 12 Python
Python pandas RFM模型应用实例详解
Nov 20 Python
Python爬虫爬取杭州24时温度并展示操作示例
Mar 27 Python
Python Socket TCP双端聊天功能实现过程详解
Jun 15 Python
如何利用python和DOS获取wifi密码
Mar 31 Python
如何用python反转图片,视频
Apr 24 Python
pyqt5利用pyqtDesigner实现登录界面
Mar 28 #Python
Django实现单用户登录的方法示例
Mar 28 #Python
pyqt5实现登录界面的模板
May 30 #Python
python实现AES加密和解密
Mar 27 #Python
详解Python计算机视觉 图像扭曲(仿射扭曲)
Mar 27 #Python
python实现向微信用户发送每日一句 python实现微信聊天机器人
Mar 27 #Python
Pandas读写CSV文件的方法示例
Mar 27 #Python
You might like
Terran热键控制
2020/03/14 星际争霸
外媒评选出10支2020年最受欢迎的Dota2战队
2021/03/05 DOTA
php变量作用域的深入解析
2013/06/03 PHP
比较strtr, str_replace和preg_replace三个函数的效率
2013/06/26 PHP
PHP获取时间排除周六、周日的两个方法
2014/06/30 PHP
php正则替换处理HTML页面的方法
2015/06/17 PHP
基于php实现的php代码加密解密类完整实例
2016/10/12 PHP
thinkPHP5.0框架配置格式、加载解析与读取方法
2017/03/17 PHP
Yii2中简单的场景使用介绍
2017/06/02 PHP
Laravel 创建可以传递参数 Console服务的例子
2019/10/14 PHP
基于jQuery+HttpHandler实现图片裁剪效果代码(适用于论坛, SNS)
2011/09/02 Javascript
设为首页加入收藏兼容360/火狐/谷歌/IE等主流浏览器的代码
2013/03/26 Javascript
基于jquery的9行js轻松实现tab控件示例
2013/10/12 Javascript
JavaScript使用pop方法移除数组最后一个元素用法实例
2015/04/06 Javascript
js+html5实现canvas绘制简单矩形的方法
2015/06/05 Javascript
jQuery mobile 移动web(4)
2015/12/20 Javascript
如何使用AngularJs打造权限管理系统【简易型】
2016/05/09 Javascript
原生js实现查询天气小应用
2016/12/09 Javascript
NodeJs模拟登陆正方教务
2017/04/28 NodeJs
浅谈angular4 ng-content 中隐藏的内容
2017/08/18 Javascript
AngularJs用户登录问题处理(交互及验证、阻止FQ处理)
2017/10/26 Javascript
jquery.picsign图片标注组件实例详解
2018/02/02 jQuery
jQuery+ajax读取json数据并按照价格排序示例
2018/03/28 jQuery
vue组件间通信六种方式(总结篇)
2019/05/15 Javascript
JS去除字符串最后的逗号实例分析【四种方法】
2019/06/20 Javascript
JavaScript代码模拟鼠标自动点击事件示例
2020/08/07 Javascript
[02:24]DOTA2亚洲邀请赛 NAVI战队出场宣传片
2015/02/07 DOTA
Python使用Mechanize模块编写爬虫的要点解析
2016/03/31 Python
更改Ubuntu默认python版本的两种方法python-> Anaconda
2016/12/18 Python
Python多进程multiprocessing.Pool类详解
2018/04/27 Python
用python统计代码行的示例(包括空行和注释)
2018/07/24 Python
python 将有序数组转换为二叉树的方法
2019/03/26 Python
Python3爬虫里关于识别微博宫格验证码的知识点详解
2020/07/30 Python
DJI大疆无人机官方商城:全球领先的无人飞行器研发和生产商
2016/12/21 全球购物
2014年居委会工作总结
2014/12/09 职场文书
Oracle查看表空间使用率以及爆满解决方案详解
2022/07/23 Oracle