python爬取网易云歌单_详解python selenium 爬取网易云音乐歌单名
目标网站:
首先获取第一页的数据,这里关键要切换到iframe里
打印一下
获取剩下的页数,这里在点击下一页之前需要设置一个延迟,不然会报错。
结果:
一共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 selenium 爬取网易云音乐歌单名相关推荐
- python函数中可变参数的传递方式_详解Python函数可变参数定义及其参数传递方式...
Python函数可变参数定义及其参数传递方式详解 python中 函数不定参数的定义形式如下 1. func(*args) 传入的参数为以元组形式存在args中,如: def func(*args): ...
- python中groupby()函数讲解与示例_详解python中groupby函数通俗易懂
一.groupby 能做什么? python中groupby函数主要的作用是进行数据的分组以及分组后地组内运算! 对于数据的分组和分组运算主要是指groupby函数的应用,具体函数的规则如下: df[ ...
- python中heapq的库是什么_详解Python中heapq模块的用法
详解Python中heapq模块的用法 来源:中文源码网 浏览: 次 日期:2018年9月2日 [下载文档: 详解Python中heapq模块的用法.txt ] (友情提示:右键点上行t ...
- python中get函数是什么意思_详解python中get函数的用法(附代码)_后端开发
strncmp函数用法详解_后端开发 strncmp函数为字符串比较函数,其函数语法为"int strncmp ( const char * str1, const char * str2, ...
- python比较两个字符串相似度_详解Python 字符串相似性的几种度量方法
字符串的相似性比较应用场合很多,像拼写纠错.文本去重.上下文相似性等. 评价字符串相似度最常见的办法就是:把一个字符串通过插入.删除或替换这样的编辑操作,变成另外一个字符串,所需要的最少编辑次数,这种 ...
- python的装饰器迭代器与生成器_详解python中的生成器、迭代器、闭包、装饰器
迭代是访问集合元素的一种方式.迭代器是一个可以记住遍历的位置的对象.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退. 1|1可迭代对象 以直接作用于 for ...
- python中ifelifelse用在什么结构_详解Python if-elif-else知识点
有的时候,一个 if - else - 还不够用.比如,根据年龄的划分:条件1:18岁或以上:adult 条件2:6岁或以上:teenager 条件3:6岁以下:kid Python if-elif- ...
- python for和while的用法区别_详解python while 函数及while和for的区别
1.while循环(只有在条件表达式成立的时候才会进入while循环) while 条件表达式: pass while 条件表达式: pass else: pass 不知道循环次数,但确定循环条件的时 ...
- python最早引入json的版本_详解Python在使用JSON时需要注意的编码问题
写这篇文章的缘由是我使用 reqeusts 库请求接口的时候, 直接使用请求参数里的 json 字段发送数据, 但是服务器无法识别我发送的数据, 排查了好久才知道 requests 内部是使用 jso ...
最新文章
- Jupyter-ROS(机器人操作系统)
- extjs 中iframe内存泄漏的问题
- 怎么找回失踪的NTLDR文件
- 使用mysqladmin命令修改MySQL密码与忘记密码
- springcloud服务发现
- Android 系统(70)---Android刘海屏适配方案
- android跳转到地图app
- PuTTY/PuttyGen介绍
- 使用闲置迅捷无线路由器桥接指南(扩大WIFI覆盖面)
- 360来硬拼,云盘免费用了!新注册就能获得36T容量!
- 在国内,如何优雅的使用ChatGPT??
- html桌面壁纸教程,Photoshop设计简易版的电脑桌面壁纸教程
- 爱普生Epson Stylus Photo T60 打印机驱动
- 免费申请 HTTPS 证书,开启全站 HTTPS
- 区块链安全————区块链技术安全讨论
- 【零基础小白的华丽蜕变】Oracle WebLogic Server 14c(14.1.1.0)下载及安装
- JAVA AJAX教程第一章-初始AJAX
- r语言赋值为na_R语言数据框中,用0替代NA缺失值
- panda3d python_安装 Panda3D 并使用原有的Python
- App 应用托管平台
热门文章
- 为什么你需要设计和维护一套自我移动标准?
- 6个变态的C语言写的Hello World
- MPEG-2TS码流编辑的原理及其应用(转载
- VUE: 当前页面 引用自定义公用样式 (:style=“样式名“)
- eclipse启动出现“An Error has Occurred. See the log file”解决方法
- JAVA自学笔记08
- Cadence 电源完整性仿真实践(二)
- 设计模式之Builder (创建者模式)的一些个人理解(转)
- javascript获取事件源对象和产生事件的对象
- C#中读取“已注册的文件类型”的图标及读取指定文件图标的方法 (转)