爬取网易云音乐评论
爬取网易云音乐评论保存CSV
selenium的使用
01 导入模块
from selenium import webdriver
02 打开浏览器 实例化对象
driver = webdriver.Chrome()
03 访问网址
driver.get('https://www.baidu.com')
04 根据id获取输入框
shuru=driver.find_element_by_id('kw')
05 向输入框输入内容
shuru.send_keys('网易云音乐')
06 找到百度一下按钮
button=driver.find_element_by_id('su')
点击一下
button.click()
07 关闭当前标签页
driver.close()
08 退出浏览器
driver.quit()
09 浏览器窗口
最大化
driver.maximize_window()
最小化
driver.minimize_window()
10 滚动页面
# ('window.scrollBy(左右滚动距离,上下滚动距离)','')
driver.execute_script('window.scrollBy(0,500)','')
11 在新标签页 打开网址
driver.execute_script("window.open('https://music.163.com')")
12 窗口切换
# 首先要获取窗口 对象
handles=driver.window_handles
# 切换
driver.switch_to_window(handles[-1])
键盘事件
from selenium.webdriver.common.keys import Keys
driver.get('https://www.baidu.com')
# send_keys('qq') 要输入的内容
driver.find_element_by_id('kw').send_keys('qq')
driver.find_element_by_id('su').send_keys(Keys.ENTER)
# 刷新
driver.refresh()
完整代码
#导入模块
from selenium import webdriver
import pandas as pd
# 打开浏览器 实例化对象
driver=webdriver.Chrome()
# 访问网址
driver.get('https://music.163.com')
# 在新标签页 打开网址
driver.execute_script("window.open('https://music.163.com/#/song?id=1426361558')")
# 窗口切换
# 首先要获取窗口 对象
handles=driver.window_handles
# 切换标签
driver.switch_to_window(handles[-1])
# 发现有 ifram,需要切换到iframe中
# driver.switch_to_frame('iframe的id')
# driver.switch_to_frame('iframe的name')
# driver.switch_to_frame('driver.find_element_by_(" ")的到的对象')
driver.switch_to_frame('g_iframe')
parent=driver.find_element_by_class_name('cmmts')
# 如果 爬内层 itm,用css选择器
divs=parent.find_elements_by_css_selector('div.itm')
mylist=[]
for each_div in divs:
mylist.append(each_div.find_element_by_class_name('cnt').text)
mylist
# 将列表转换为数据框
df = pd.DataFrame(mylist)
# 查看输出结果
print(df)
# 存入csv文档
df.to_csv('output.csv', encoding='utf-8', index=False)