本文抓取的是某音乐评论,将数据保存到mysql数据库,并生成词云。
一首歌热门了,参与评论的人也很多,那我们有时候想看看评论,也只能看看热门的评论,大部分人都说的什么,咱也不知道呀~
那本次咱们就把歌词给自动下载保存到电脑上,做成词云图给它分析分析…
先看看还没有哪个:
import jieba import wordcloud import imageio.v2 as imageiofrom selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By from time import sleep from lxml import etree import pymysql
大致思路并不是很难,只是些许繁琐。特别注意数据处理的方面,拿到空值,带表情的数据在插入数据库可能报错。
好的,正式开始:
selenium模拟登陆后搜索歌曲,进入该歌曲,抓取评论数据。
需要注意的是两层frame嵌套:
爬取数据+生成词云的代码:
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from time import sleep
from lxml import etree
from selenium.webdriver import ChromeOptions
option = ChromeOptions()
option.add_argument('--headless')
option.add_argument('--disable-gpu')
music=input('输入歌曲名')
num=int(input('输入爬取的评论页数(一页25条评论):'))
s = Service(r"D:\Google\Chrome\Application\chromedriver.exe")
#bro = webdriver.Chrome(service=s,options=option)
bro = webdriver.Chrome(service=s)
bro.get('https://y.qq.com/')
bro.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
"source": """
Object.