用selenium进行网易云音乐进行评论爬取,然后做成词云图
这个是抓取刀郎-黄玫瑰的评论词云
以下是抓取的代码,初学者,可能不是很完美,能运行。。呵呵。
#!/usr/bin/python
# -*- coding: <encoding name> -*-
import time
from selenium import webdriver
import re
comment_list = [] # 定义评论列表文件
browser = webdriver.Chrome()
url = 'https://music.163.com/song?id=168091' # 输入需要抓取网易音乐的单曲页面
browser.get(url)
browser.implicitly_wait(5)
browser.switch_to.frame('contentFrame') # 进入frame
for x in range(6): # 64是需要抓取的页面总数***
button = browser.find_element_by_link_text('下一页') # 通过找到‘下一页’的按钮进行翻页
time.sleep(2)
#print(button.text)
aa = browser.find_elements_by_xpath('//div/div[2]/div[1]/div[1]') # 定位评论文字
for i in aa:
#print(i.text)
a = re.search(':', i.text) # 通过正则表达式进行“:”定位,得出左边是评论者,这个要去掉
#print(a)
if a:
n = i.text.index(':') + 1
m = i.text[n:] # 只保留从“:”右边的文字,就是纯正的评论文字
comment_list.append(m)
else:
#comment_list.append('')
print('继续工作......')
print('抓取了>>>>' + str(x) + '<<<<页')
button.click() # 自动进行“下一页”的按钮
with open('e:/python-result/music.txt','a',encoding = 'utf-8') as f: # 保存文本文件
f.write(str(comment_list))