详解python selenium 爬取网易云音乐歌单名
时间:2021-02-06 10:06:39|栏目:Python代码|点击: 次
目标网站:

首先获取第一页的数据,这里关键要切换到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的Django框架的dj-scaffold项目
栏 目:Python代码
下一篇:python pandas 组内排序、单组排序、标号的实例
本文标题:详解python selenium 爬取网易云音乐歌单名
本文地址:http://www.codeinn.net/misctech/58178.html






