python版本 3.6.2
如果你是民謠控,應該聽過齊叔的歌吧!那首經典的[這個年紀]但我的女人呢~但我的女人呢~ 當初聽到這首歌的時候就深深的愛上,可謂真是有毒呀!
作為齊叔的歌迷,必須要分析一下齊叔呀!那麼齊叔都在唱些什麼呢?想辦法獲取所有齊叔的歌的歌詞,發現酷我**剛好有齊叔所有**還包括歌詞。
這下有了目標,接下來就是先拿資料啦!
引用庫檔案
# -*-coding:utf-8-*-
import requests
import re
from requests import requestexception
from bs4 import beautifulsoup
import codecs
from os import path
import numpy as np
from pil import image
import jieba
from wordcloud import wordcloud
獲取整個網頁內容def
get_page
(url):
headers =
try:
response = requests.get(url,headers=headers)
if response.status_code == 200:
return response.text
return
none
except requestexception:
print('請求失敗!')
return
none
解析頁面提取所有歌曲的鏈結def
parse_page
(html):
soup = beautifulsoup(html,'lxml')
list = soup.find('div',attrs=)
lsoup = beautifulsoup(str(list),'lxml')
count = -1
music_url =
for x in lsoup.find_all('a'):
count = count+1
if count%2==0:
#輸出music_url
#正規表示式提取歌曲鏈結和歌名
regex = '(.*?)'
pattern = re.compile(regex, re.s)
items = re.findall(pattern, str(music_url)) # 先傳入規則,在傳需要在匹配源
url =
for item in items:
# print(item[0],item[1])
#返回歌曲鏈結結果
return url
獲取每個鏈結對於的歌曲歌詞def
get_lrc
(url):
response = requests.get(url=url) #
bs = beautifulsoup(response.text, 'lxml')
# 使用select方法獲得的節點可能不止乙個,所以返回的型別是個list
# 異常處理 《這個年紀 - 伴奏》歌詞 — 齊一 沒有歌詞會報錯,
try:
lyric = bs.select('div#lrc_yes')[0]
if lyric!=none:
for item in lyric.strings:
# print(item)
#獲取每一句歌詞並寫入檔案
write_file(item)
except exception:
print('當前歌曲沒有歌詞,歌曲鏈結為',url)
寫入檔案def
write_file
(content):
with open('齊一.txt','a') as f:
f.write(content)
f.flush()
f.close()
製作詞云def
draw_wordcloud
():with codecs.open('齊一.txt',encoding='utf-8') as f:
comment_text = f.read()
d = path.dirname(__file__) # 當前檔案資料夾所在目錄
color_mask = np.array(image.open(path.join(d, "齊一.png"))) # 讀取背景
cloud = wordcloud(font_path=path.join(d,'simsun.ttc'), # 字型檔案 這個字型window自帶有 可以自行更換
background_color='white', # 設定背景顏色
mask=color_mask, # 設定背景
max_words=2000, # 設定最大顯示的字數
random_state=50, # 設定有多少種隨機生成狀態,即有多少種配色方案
max_font_size=100) # 設定字型最大值
word_cloud = cloud.generate(cut_text) # 產生詞云
word_cloud.to_file("pjl_cloud.jpg") #生成的檔案
執行方法操作
if __name__ == '__main__':
#歌單列表**
url = ''
#獲取所有歌曲**內容
html = get_page(url)
#解析網頁,提取所有歌曲鏈結
music_url = parse_page(html)
#迴圈爬取
for url in music_url:
print('正在爬取',url)
#獲取歌詞
lrc = get_lrc(url)
#生成詞云
draw_wordcloud()
效果圖
齊一都在唱什麼呢 歌詞詞云分析
python版本 3.6.2 如果你是民謠控,應該聽過齊叔的歌吧!那首經典的 這個年紀 但我的女人呢 但我的女人呢 當初聽到這首歌的時候就深深的愛上,可謂真是有毒呀!作為齊叔的歌迷,必須要分析一下齊叔呀!那麼齊叔都在唱些什麼呢?想辦法獲取所有齊叔的歌的歌詞,發現酷我 剛好有齊叔所有 還包括歌詞。這下...
不同階層資料分析師都在做什麼呢
1 資料跟蹤員 機械拷貝看到的資料,很少處理資料 雖然這個工作的人還不能稱作資料分析師 但是往往作這樣工作的人還都自稱是資料分析師 這樣的人,只能通過 系統看到有限的資料,並且很少去處理資料,甚至不理解資料的由來和含義,只是機械的把自己看到的資料拷貝出來,給相應的人。這類人發出來的資料,是否有意義,...
什麼時候成為一名熟練的code呢
感覺到自己很笨,乙個簡單的問題弄幾個小時,咋這麼笨呢 現在感覺很累,有很鬱悶,生活質量很差!感覺不到生活的樂趣,難道生活就是這樣的?我疑問,未來到底會變成什麼樣子,我會有幸福的生活嗎?一天天,一年年都是這樣子,在學校的時候,天天盼望著工作,期望工作以後,生活會變得好一些,自己會快樂一些,可是,生活還...