Es ist nur noch ein Jahr, bis die Aktivität des Sturms eingestellt wird. Seit dem Erscheinen des transparenten Kostüms sind 20 Jahre vergangen. Was wollten die im Mehrspielermodus aktiven nationalen Idole ihren Fans in den 20 Jahren seit ihrer Gründung vermitteln? Ich würde Sie gerne persönlich treffen, aber aus diesem Grund. Also habe ich beschlossen, "die Texte zu visualisieren" und die Botschaft, die ich den Fans vermitteln möchte, zu übermitteln ~~ das sechste Mitglied ~~, das ich den Arashi-Fans übermitteln werde.
・ Python 3.7.3 ・ Windows10
"・ Utane t" (hps: // ww. Utane t. This m) ・ Ich habe versucht, die Texte von Genshi Yonezu mit WordCloud zu visualisieren.
scraping_arashi.py
import requests
from bs4 import BeautifulSoup
import pandas as pd
import time
#Erstellen Sie eine Tabelle mit den Scraped-Daten
list_df = pd.DataFrame(columns=['Text'])
for page in range(1, 3):
#Top-Adresse der Song-Seite
base_url = 'https://www.uta-net.com'
#Textliste Seite
url = 'https://www.uta-net.com/artist/3891/0/' + str(page) + '/'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'lxml')
links = soup.find_all('td', class_='side td1')
for link in links:
a = base_url + (link.a.get('href'))
#Lyrics Detail Seite
response = requests.get(a)
soup = BeautifulSoup(response.text, 'lxml')
song_lyrics = soup.find('div', itemprop='lyrics')
song_lyric = song_lyrics.text
song_lyric = song_lyric.replace('\n','')
#Warten Sie 1 Sekunde, bis der Server nicht geladen ist
time.sleep(1)
#Fügen Sie die erworbenen Texte zur Tabelle hinzu
tmp_se = pd.DataFrame([song_lyric], index=list_df.columns).T
list_df = list_df.append(tmp_se)
print(list_df)
#CSV speichern
list_df.to_csv('list.csv', mode = 'a', encoding='cp932')
morphological_analysis_arashi.py
from janome.tokenizer import Tokenizer
import pandas as pd
import re
#list.CSV-Datei lesen
df_file = pd.read_csv('list.csv', encoding='cp932')
song_lyrics = df_file['Text'].tolist()
t = Tokenizer()
results = []
for s in song_lyrics:
tokens = t.tokenize(s)
r = []
for tok in tokens:
if tok.base_form == '*':
word = tok.surface
else:
word = tok.base_form
ps = tok.part_of_speech
hinshi = ps.split(',')[0]
if hinshi in ['Substantiv', 'Adjektiv', 'Verb', 'Adverb']:
r.append(word)
rl = (' '.join(r)).strip()
results.append(rl)
#Ersetzen des zusätzlichen Zeichencodes
result = [i.replace('\u3000','') for i in results]
print(result)
text_file = 'wakati_list.txt'
with open(text_file, 'w', encoding='utf-8') as fp:
fp.write("\n".join(result))
wordcloud_arashi.py
from wordcloud import WordCloud
text_file = open('wakati_list.txt', encoding='utf-8')
text = text_file.read()
#Japanischer Schriftpfad
fpath = 'C:/Windows/Fonts/YuGothM.ttc'
#Wortentfernung, die bedeutungslos erscheint
stop_words = ['damit', 'Abwesend', 'Ist', 'Machen', 'Wie es ist', 'Yo', 'Teru', 'Werden', 'Ding', 'Bereits', 'Gut', 'Gibt es', 'gehen', 'Sein']
wordcloud = WordCloud(background_color='white',
font_path=fpath, width=800, height=600, stopwords=set(stop_words)).generate(text)
#Das Bild ist Wordcloud.Speichern Sie png im selben Verzeichnis wie die py-Datei
wordcloud.to_file('./wordcloud.png')
↓ ↓ Wie wäre es mit dem Ergebnis ↓ ↓
Es fühlt sich gut an!
Durch die Visualisierung der Texte stellte ich fest, dass häufig Wörter wie "Zukunft", "Wir", "Hier" und "Sehen" auftreten, die die Wärme des Sturms spüren (* ´ ▽ ` *).
Gehen wir mit uns in die Zukunft. Und ich werde die ganze Zeit an deiner Seite sein. Noch ein Jahr, bis die Aktivität eingestellt wird, wird es in ganz Japan zu einem Wirbelwind von A, RA und SHI kommen (~~ Nachricht von mir, dem sechsten Mitglied. ~~)
Fans können die Gefühle des Sturms vermitteln, ohne dass ich es sage, oder?
"Wir" Arashi-Fans werden Arashi bis zum Ende mit aller Kraft unterstützen. Viel Glück ARASHI. Und wenn es knallt, ja!
Ich habe es genossen, etwas über Scraping, morphologische Analyse und die Verwendung von WordCloud basierend auf Arashis Songs zu lernen. Es ist lange her, aber danke, dass Sie so weit gelesen haben. Wenn Sie Fehler finden, wäre ich Ihnen sehr dankbar, wenn Sie in den Kommentaren darauf hinweisen könnten.