网易云的爬取

Selenium是一个用于Web应用程序测试的工具。

Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。
支持的浏览器包括IE(7, 8, 9, 10, 11),Firefox,Safari,Chrome,Opera等。
使用python爬虫调用selenium来模拟正常用户访问浏览器.
#引入Selenium模块
from selenium import webdriver
#进入谷歌浏览器
browser=webdriver.Chrome()
#获取网易云页面链接
browser.get('https://music.163.com/#/discover/toplist')
#找到内嵌框架;内联框架,从而切换到框架中
iframe=browser.find_element_by_id('g_iframe')
browser.switch_to.frame(iframe)
#获取父级tbody标签
parent=browser.find_element_by_tag_name('tbody')
#寻找所有个tr取值
trs=parent.find_elements_by_tag_name('tr')
len(trs)	#看获取所有tr的个数
#先建一个列表
data=[]
#循环获取单个tr标签
for each_tr in trs:   
#取排名
    rank=each_tr.find_element_by_class_name('num').text
#歌名 
    songName=each_tr.find_element_by_tag_name('b').get_attribute('title')

#歌手
    singer=each_tr.find_element_by_class_name('text').get_attribute('title')

    data.append([rank,songName,singer])	#每个值存到列表当中
#获取文件读写存入模块
from openpyxl import Workbook
# 实例化对象
wb=Workbook()	#打开一个工作簿
sheet=wb.active	#默认第一个工作表
sheet.title='排行榜'	#工作表名为排行榜
sheet.append('排名,歌名,歌手'.split(','))	#把标题存在工作表中
for each in data:
    sheet.append(each)	#根据循环将得到的值依次存在工作表中
wb.save('网易云.xlsx')	#保存工作簿为网易云

你可能感兴趣的:(网易云的爬取)