Wizard Notes

Python, JavaScript を使った音楽信号分析の技術録、作曲活動に関する雑記

Pythonで邦楽アーティスト名一覧をスクレイピング

日本の音楽アーティスト名に関するを調査するために、Pythonを使ってアーティスト名一覧をWeb上からスクレイピングしました。

情報を抽出するWebサイト

HTMLのパースしやすさを考え、今回はRockin'on.comの邦楽アーティスト名一覧 を利用しました。

rockinon.com

実装

from urllib import request
from bs4 import BeautifulSoup

url = "https://rockinon.com/artist/list?category=1"

html = request.urlopen(url)

soup = BeautifulSoup(html, "html.parser")

artist_item = soup.find_all(class_="c-artist-index__item")

artist_info = []
for ai in artist_item:
    tmp_name = ai.find("div", attrs={"class", "c-artist-index__name"}).string
    try:
        tmp_kana = ai.find("div", attrs={"class", "c-artist-index__kana"}).string
    except AttributeError: 
        tmp_kana = tmp_name
    print(tmp_name, tmp_kana)
    obj = {"name": tmp_name, "kana":tmp_kana }
    artist_info.append(obj)

結果

f:id:Kurene:20191215114041p:plain
アーティスト一覧

まとめ

Pythonで邦楽アーティスト名一覧をスクレイピングしました。

ただし、Rock'in on.comのページでは全てのアーティストを網羅しているわけではなく、例えばALI PROJECT平沢進といったアーティストは掲載されていません。

そのため、より網羅的なアーティスト一覧を作るためには他のWebサイトからもスクレイピングをするか、手動で追加する必要があります。