Pythonで2018年紅白歌合戦出場者をWebスクレイピングしてみる
最近、紅白歌合戦の出場者が発表されたので、選ばれた歌手の名前と出場回数をWebスクレイピングしてみたいと思います。
ライブラリのインストール
使用するのはBeautifulSoupとRuequestsです。
RequestsはWebサイトから情報を取得したりすることができるライブラリです。BeautifulSoupはWebからの文章htmlを整形し、自分が欲しいように取得できるライブラリです。
BeautifulSoupをインストールする。
$pip install beautifulsoup4
requestsをインストールする。
$pip install requests
以下のコードを実行する。
import requests
from bs4 import BeautifulSoup
r = requests.get("https://www.nhk.or.jp/kouhaku/artist/index.html")
soup = BeautifulSoup(r.content, "html.parser")
for i in soup.select("li"):
print(i.getText())
requests.get("https://www.nhk.or.jp/kouhaku/artist/index.html")でURLを書き、 BeautifulSoup(r.content, "html.parser")で取得したHTMLを整え、for i in soup.select("li"): print(i.getText())で出力しています。
そして、結果は以下のようになります。
aiko(13)
あいみょん(初)
いきものがかり(10)
石川さゆり(41)
AKB48(11)
丘みどり(2)
欅坂46(3)
坂本冬美(30)
島津亜矢(5)
Superfly(3)
DAOKO(初)
天童よしみ(23)
TWICE(2)
西野カナ(9)
乃木坂46(4)
Perfume(11)
松田聖子(22)
松任谷由実(3)
MISIA(3)
水森かおり(16)
Little Glee Monster(2)
嵐(10)
五木ひろし(48)
EXILE(12)
関ジャニ∞(7)
King & Prince(初)
郷ひろみ(31)
Suchmos(初)
三代目 J Soul Brothers(7)
純烈(初)
SEKAI NO OWARI(5)
Sexy Zone(6)
DA PUMP(6)
氷川きよし(19)
福山雅治(11)
Hey! Say! JUMP
.hsj path {
fill: #c28e34 ;
}
(2)
星野源(4)
三浦大知(2)
三山ひろし(4)
山内惠介(4)
ゆず(9)
YOSHIKI feat. HYDE(初)
こんな感じで出力されるはずです。
Hey!Say!JUMPだけ他とは違い、なぜかSVGで書かれていたので変な感じになりましたが、なんとかできました。