您好,登錄后才能下訂單哦!
這篇文章主要講解了“怎么使用Python爬取網易云歌曲評論實現詞云圖”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么使用Python爬取網易云歌曲評論實現詞云圖”吧!
Python 3.8 解釋器 3.10
Pycharm 2021.2 專業版
selenium 3.141.0
from selenium import webdriver # 導入瀏覽器的功能 import re # 正則表達式模塊, 內置 import time # 時間模塊, 程序延遲
driver = webdriver.Chrome()
driver.get('https://music.163.com/#/song?id=488249475') # selenium無法直接獲取到嵌套頁面里面的數據 driver.switch_to.frame(0) # switch_to.frame() 切換到嵌套網頁 driver.implicitly_wait(10) # 讓瀏覽器加載的時候, 等待渲染頁面
js = 'document.documentElement.scrollTop = document.documentElement.scrollHeight' driver.execute_script(js)
divs = driver.find_elements_by_css_selector('.itm') # 所有div css語法: 定位到 html 數據/xpath/正則 for div in divs: cnt = div.find_element_by_css_selector('.cnt.f-brk').text cnt = re.findall(':(.*)', cnt)[0] # 中英文有區別 print(cnt)
for page in range(10): # 控制翻頁 速度太快 # 翻頁 , 找到下一頁標簽, 點擊? driver.find_element_by_css_selector('.znxt').click() time.sleep(1) # selenium 欲速則不達
with open('contend.txt', mode='a', encoding='utf-8') as f: f.write(cnt + '\n')
import jieba # 中文分詞庫 pip install jieba import wordcloud # 制作詞云圖的模塊 pip install wordcloud import imageio
with open('contend.txt', mode='r', encoding='utf-8') as f: txt = f.read() print(txt)
txt_list = jieba.lcut(txt) print('分詞結果:', txt_list)
string_ = ' '.join(txt_list) # 1 + 1 = 2 字符串的基本語法 print('合并分詞:', string_)
wc = wordcloud.WordCloud( width=1000, # 圖片的寬 height=800, # 圖片的高 background_color='white', # 圖片的背景色 font_path='msyh.ttc', # 微軟雅黑 scale=15, # 詞云圖默認的字體大小 # mask=img, # 指定詞云圖的圖片 # 停用詞< 語氣詞, 助詞,.... stopwords=set([line.strip() for line in open('cn_stopwords.txt', mode='r', encoding='utf-8').readlines()] ) ) print('正在繪制詞云圖...') wc.generate(string_) # 繪制詞云圖 wc.to_file('out.png') # 保存詞云圖 print('詞云圖繪制完成...')
感謝各位的閱讀,以上就是“怎么使用Python爬取網易云歌曲評論實現詞云圖”的內容了,經過本文的學習后,相信大家對怎么使用Python爬取網易云歌曲評論實現詞云圖這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。