1.根据实验2中爬取的信息,对某位一个歌手的某一首歌曲的评论内容进行处理。
2.分析评论中的词性分布。
3.统计高频词,画出词云。
QQ音乐爬取信息处理
from selenium import webdriver
import csv
wd=webdriver.Chrome(r'd:\chromedriver\chromedriver.exe')
wd.implicitly_wait(10)
'''
wd.get('https://y.qq.com')
#关闭打开客户端界面
from time import sleep
sleep(5)
element=wd.find_element_by_css_selector('.popup__icon_close')
element.click()
#搜索歌手,陈奕迅
element1=wd.find_element_by_class_name("search_input__input")
element1.send_keys('陈奕迅')
element2=wd.find_element_by_class_name("search_input__btn")
element2.click()
'''
song_url_list=[]
song_resourses=[]
wd.get('https://y.qq.com/portal/search.html#page=1&searchid=1&remoteplace=txt.yqq.top&t=song&w=%E9%99%88%E5%A5%95%E8%BF%85')
#配置
csv_file = open('qqyy.csv','w',newline='',encoding='gb18030')
writer = csv.writer(csv_file)
#选择陈奕迅查看热门歌曲
element3=wd.find_element_by_css_selector('[href="https://y.qq.com/n/yqq/singer/003Nz2So3XXYek.html"]')
element3.click()
#获取URL
num=1#歌曲数量
item=wd.find_elements_by_class_name("songlist__item")
for song in item:
song__url=song.find_element_by_class_name("js_song").get_attribute("href")
song_url_list.append(song__url)
num-=1
if(num==0):
break
'''#选择第一首热门歌曲
element4=wd.find_element_by_css_selector('[href="//y.qq.com/n/yqq/song/001OyHbk2MSIi4.html"]')
webdriver.ActionChains(wd).move_to_element(element4).click(element4).perform()'''
def getSongResourse(url):
song_resourse={}
wd.get(url)
from time import sleep
sleep(3)
# 获取歌曲名
song_name=wd.find_element_by_class_name("data__name_txt").text
print(song_name)
#歌词
# 展开歌词
wd.find_element_by_partial_link_text("[展开]").click()
from time import sleep
sleep(1)
lyic = ""
# 获取拼接歌词
lyic_box = wd.find_element_by_id("lrc_content").find_elements_by_tag_name("p")
for l in lyic_box:
if l.text != "":
lyic += l.text + "\n"
# 获取流派,歌曲发行时间,评论数
song