爬取网易云音乐评论

爬取网易云音乐评论保存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)
posted @ 2020-10-07 08:58  秋弦  阅读(240)  评论(0编辑  收藏  举报