5日と20日は歌詞と遊ぼう。

歌詞を読み、統計したりしています。

#2017年ボカロ10選 を集計してみました!

ボカロクラスタ界隈では、今回の年末年始も「#2017年ボカロ10選」というハッシュタグが流行しました。

名前のとおり、みんなが2017年に聴いたボカロ曲のおすすめをまとめるハッシュタグです。

今回はそれを集計してみました!

去年もやってみました。今年はやり方も一新して、より検証しやすいデータに進化しました!

hacosato.hatenablog.com

(注意:がんばって誠実に集計しましたが、わたしはプログラミングも統計も素人なので、この記事はどうぞおあそびとして受け取ってください)

集計方法

1.ツイートを収集

まずは当該のハッシュタグがついているツイートを集めます。 前回はPythonとtweepyを使って集めましたが、今回はtweepyが生きていないみたいだったのでTwythonというライブラリを使いました。

ライブラリが変わっても基本は同じで、TwitterAPIを使ってツイートを集めます。 年末年始にマシンを乗り換えたらデータが消えたりしたけどわたしはげんきです💪

この方法だとAPI制限の範囲内でしか集計できないので、WebブラウザからもTwitterで検索してみました。 twitter.com

重複は排除、URLのないツイートも排除しました。ツイートはぜんぶで396です(去年とは方法が違うため、単純に比較できません)。

SQLiteに格納しました。

2.URLを抽出

次に、ツイートの中からURLを抽出しました。 Twitter開発者向けドキュメントに、ツイートの内部の構造が書いてあります。expanded_urlというJSONの属性を拾ってくればOKみたいです。

ただし、この方法だと、ツイートに埋め込まれている情報は拾えません。

その結果、以下の点に注意してほしいです。

  • 動画1つだけが埋め込まれているツイートは集計対象ではありません。
  • 画像のみのツイートは集計対象ではありません。

マイリスのURLを公開した人のツイートのみが対象です。

前回は動画1つだけが埋め込まれているツイートを集計対象にしましたが、今回はわたしの技術上の問題でできませんでした。去年とはいちがいに比較できません。

また、今年はTwitter上でのトレンドなのか、マイリスのスクショだけの投稿が多くありました。しかしスクショは集計対象ではありません。

スクショ勢とマイリス勢だと列挙する曲の傾向もちがうっぽいので、今回の結果はマジで参考程度に見てください!

3.ランクイン数を数える

最後に数を数えました。

ルールは前回と同じで、ある動画が何人から評価されたか、という観点で数えてあります。

ひとりのひとが同じマイリスを何度ツイートしても1票です。

また、「#2017年ボカロ10選」というハッシュタグですが、ひとり何票でもカウントするようにしました。

結果発表!

その結果がこちらです。

異なり411曲でした。

票数 タイトル 投稿者 再生数 コメント
10 wowaka『アンノウン・マザーグース』feat. 初音ミク wowaka 1391017 テーマ買いました~! □■□■□■□■□■□■□■□■□■□■ ★★★★★★★★★★★★★★★★★★★★
9 アイドル 初音ミク Puhyuneco 6872 この人の他の曲もいい 歌詞が好き "沢山ある" ラブデリのmoonを感じ ぞわぞわするきもちい どハマりした これはすごい 3939再生おめ! 歌詞が好き ポコポコポコ アルバム出してくださ
7 違います 目赤くなる 3086 うぽつです。 すごくすてき gj ほんとすきだわ めっちゃ好き wwwwwww こういうのもっと評価 すごい タイトルホイホイ おっ うぽつです またきてしまった これはいい シュールだなw すき www おつ うぽつ こわれてる この人...
6 ハチ MV「砂の惑星 feat.初音ミク」 ハチ 3750971 88888888888888888888 wwww 消えた 何度でもよみがえるの 何度でもよみがえるの wwwwww 卒業するとき流れてほ かっこいい wwwwwww...
5 ちがい / feat.初音ミク 【オリジナルMV】 しろにゃん 14676 映像素敵や よすぎ 伸びる気しかしない いいなこの雰囲気… 歌詞の言葉の響きすご 良い音 ←寝るなで草 このキャラはミクさん ノスタルジーだ つづつくんの動画いい ねるな! さすが ここすき 別世界に来たような やっぱえいぞうすげえ
5 人間そっくり/踊る初音ミク しじま 121241 踊ってるうううううう うおおおおおおおおお !? パロだろうね ハイセンス すげー いいな すごい これ多分初めてボカロ 伊藤誠は狙ってるのか アボガド6ってボカロp
5 『テオ』 / 初音ミク Omoi 904486 ておおおおおおお 音圧w ミリオン支援 すき 90万おめでとう!! 来るぞっ・・ 90万おめでと お前らの愛が凄いw 高校生が作れるのか!? これ何かハマるんだよ ******************** ておてお* ...
5 【初音ミク】Ordinary【オリジナル】 ポリスピカデリー 51535 はぁ、…すき。 ジミーサムp末期 うぽつですー! うぽつ メロディーと声、めっ 寝れる うつくしい >< 最高やんけ 今度はミクか 88888888888888888888
5 ドリームレス・ドリームス / 初音ミク はるまきごはん 240184 みたい 歌詞が本当に完璧だな 首が!! この子かわいい ボカロにしては完璧!! 泣ける 歌詞がいい 伴奏かっこいい 88888888888888888888
5 MV - マニック / *Luna feat.ウナ & Rana *Luna 91543 あーすき ♪WOW... ♪細胞ride on ♪I want all ♪I want ♪さぁ内情解剖wow ♪"I"を改造 ♪君の声だけが ♪この劣情均衡きっと ♪もうわからない触れ ♪愛と邂逅 ♪全心で愛を解答 ♪私の心見つけ出して ♪貴...
4 トウキョウダイバアフェイクショウ - ia [オリジナル] ツミキ 135187 サビほんとかっこいい 8888888888888888888 かっけええええ すき デビュー成功だね。 トラックてww 8888888 ←早く食ってやれよ カラオケかよw 藤嶋隼人 ワロタ ♥ 麺を捨ててしまった.. ツミキさん... バケモノ 天...
4 命ばっかり / Flower・結月ゆかり ぬゆり 713285 □□ □ □□ロ□ 僕椅子命僕 他人椅子 僕 他人命椅子 また蝶野夢を見る~ 命椅子僕他人いのち? 僕 ? ? 僕命椅子 いのち 僕命 椅子 国 天 椅子僕 子供 僕 椅子他人子供命 僕 命 命命椅子 他人 椅子椅子僕 僕命 僕 他人命 他人僕 88...
4 【初音ミク】恋のミュージックアワー【オリジナルPV】 パピ子りん 54769 (伸びが)止まるんじゃ (伸びが)止まるんじゃ やば うしろw うしろかわええw すご すげぇ かわゆい 凝ってるなぁ みんなのミクさんだな ありがとう、ミク 残念。俺だ! ほんとすき めっちゃいいきょく 踊ってみ...
4 【ONE】非在に祈ぐ【廻転楕円体】 廻転楕円体 41057 ここからの弦めっちゃ 良い曲〜 これは新しい…!? すごい音なのに耳が痛 kd 3ism 誇り お見事 スマホが弾けそうだす 動画のカッコ良さは変 4分の五拍子??わから 素晴らしい! 夢の中みたい 楼楼 のびた おお...
4 はやくそれになりたい!/音街ウナより キノシタ 1416424 88888888888888888888 あいわなびー!あいわ あいわなびー!!あ 100...
4 初音ミクが「リバースユニバース」を歌ってくれたヨ ナユタン星人 316589 これはやられた なぜに伸びぬのだ こんな良い曲、さすが みっくみくにしてやん *ハロー、プラネット *ハロー、プラネット なんか凄い…泣ける 桜前線異常ナシかな? °∀。 あ さ てのひらワンダーラン ★=☆*〜-☆*==☆ トリノコシテ...
3 【オリジナル】LOOK at【AZUKI】 平目 季祥 2569 ノリよくて気持ちいい 曲もかわいい 人かと思った…かわい 新曲リンクはロックし 888888888888888 いいなあ かわいい すごく好き おお 何回も聴きに来てる 8888888888888888 ぼからんから 人間歌唱かと思...
3 初音ミク - ワースレスライアー ていくる 3007 おつおつ n回 踊るP ていくるドラッグ gj!!! すこー ここすし かっけぇ sttー ここすき すきです... 最高88888 もっと知られるべきP いろはじゃないだと!? 主の「好き」が自由に STT かっけー きたー やられた… ...
3 『君が飛び降りるのなら』 / 初音ミク Omoi 222837 すこ いいよ 88888888888888888888 神曲q(´`*q !? ★. 88888888888888888888
3 【初音ミク】ナポナポリターンマッチ【オリジナル曲】 ふわふわシナモン 42026 こっちのナポリタンの バカップルめww かわいい 何行ってんだ俺だよ 曲もPVも可愛すぎる… べーすかっちょいい 定期的に聴きに来てし ナポリタン ナポリタン食べたくな コーラス綺麗すぎて 好きすぎるー かるぼなーら か...
3 初音ミクがオリジナル曲を歌ってくれました「never ender」 kz 174409 ♬♬♬♬♬♬♬♬ YYYYYYYYYYYYY メモリアルイヤーはさ ☆。.:*:・'゜☆。.:*: ☆。.:*:・'゜☆。.:*:
3 【MV】 ミュージック/雪歌ユフ 相田のけ 7138 映像もあってるなぁ 全て好き GJ うぽつ こんなに素敵な曲を作 のけさんの作る曲全部 あら素敵 88888888888888888888 すべてがハイセンス! 心地よい あ、好き きもちいい3...
3 【初音ミク】君が生きてなくてよかった【オリジナルPV】 ピノキオピー 382038 ♪.·*¨΅*·.♪.·*¨΅*·.♪ ♪„・*.♪ ボカロを好きでよかっ ミクが生きていないか 88888888888888888888
3 7150日 / 初音ミク 瀬名航 186618 イヤホンやべぇ! 歌詞がいい 好き… なんでこんな低いのか DAMおめ 泣ける…… 歌詞がほんとに好き 他の曲も伸びて…… ああああすき aimaiっていう曲いい なんとか、生き抜いて 久々ボカロの曲ハマっ 19年と2...
3 ポジティブ☆ダンスタイム/音街ウナ・鏡音リンより キノシタ 375490 キノシタさんの絵が好 ポジティブ☆ダンスタ コメントがざわついて え……? とまる !? 何が起きた? 音街ウナ!!!!!!!!!!!! ちょくちょくオルガい !? 優勝P 優勝P...
3 【GUMI】拝啓ドッペルゲンガー【KEMU VOXX】 kemu 1458898 あ かわいい!! かっこいい!! うわぁまじやばい メタグロスウうううう マキちゃん? マキちゃん! マキちゃん?! マキちゃん 拝見ドッペルゲンガー 雨とペトラと拝啓ドッ
3 【初音ミク】 うみなおし 【オリジナル】 MARETU 621220 神曲 MARETUさんの曲エロく あ スプーってなに? かわいい~! こすとこ これ子宮じゃないの ここすこ 子宮じゃ…? ここすこ 88888888888888888888
3 ドンチィ・カグラ / 鏡音リン ルヌ 10359 一万再生おめでとう!! 久しぶりに~ 88888888888888888888 88888888888888888888
3 はぅとぅABC 鈴鳴家 4525 円盤P大好き はぁと めちゃいい ここモールル フォントかわいい ここのんぅんすき ここの最初の音源なに 神 音も映像もすごい・・ GJ! MMDの表情でここまで PV凄いな Latは良き >< か、かわいい
3 どうか貴方は感情を汚さないで。 / 結月姉妹 Haniwa 17592 うp 頭が痛くなる また泣けるかな私は本 泣いてしまう ん~これはよい ありがとう うぽつ この人相変わらずすげ www 音が良すぎるわ すごく好き ありがとう 誰かへ贈る曲って良い マイリス巡回推薦 すごい 洗濯機か...
3 ユラメマイ/初音ミク しぇろ(大トロP) 15676 普通の曲として通用す 調声好き すき 13巻がな…… とても良い曲ですね いい曲や 次はセルフカバーへ! GJGJ 凛として時雨っぽい曲 凛として時雨みたい これはレートSS級です 頭ノ中精神体カクセイ 頭ノ中精神...
3 【イケボラップ、和楽器あり】初音ミク KAITO『大江戸ジュリアナイト』MV Mitchie M 111687 面白い!! 神調教! あまり目に優しくない おおおお 殿堂入りおめでとうご kaitoooooo LOOOVE!!??? GOGOGOGOGOGOGOGOG o カイト♡♡♡♡♡♡♡♡♡ ♡♡♡♡♡カイト♡♡♡♡♡♡♡ kait...
3 【結月ゆかり&IA】ピニャコラーダ【オリジナル】 ねじ式 87464 はまる ゆかいあすこ すてき カメラもうちょい上行 IAとゆかりちゃんって 百合じゃん ねじ式さんの曲は全て luzセンから 百合最高愛してる ああああありがとうご キマシタワー!! IAたん綺麗すぎ…!!...
3 お気に召すまま / 初音ミク Eve 353286 聴けば聴くほど好き 好きな曲の特にいいリ ↓私は足も降っている 好きだぁぁあ、、 ドラマツルギー 最高 ここスイッチ この絵の動き方好き むいしきに左尻ふって このカチーって音めち 日本橋高架...
3 scapegoat TrES-2b 1025 独特の味があるなぁこ 不思議な調教だなー 深刻な収容違反が発生 SCP-3939ですねぇクォ 8888888888888888 神様に一番愛されてる
3 【手描MV】初音ミクさんにオリジナル曲をラップしてもらった EMO 2002 うぽつです。 888 gjgj うぽつ 習作ってことかな GJ! すげえ 88888888888888888888 こりゃあすげぇや! Fullでお願いします! おれも思った<パラ 最高 !!! 面白かったー 中毒る~ すんげえ 8...
3 まっさかさまー/初音ミク しぇろ(大トロP) 42805 いいな 音ゲーの歌かと思って 好きすぎる 良品質キムチ曲 そくマイリストだわ のびろのびろー 可愛い まっさかさまー♪(´∀`) 神 いいわー もうすぐ4万! フライングキムチw 夏が終わった え、伸びろよ… ↓歌詞職人すご 好きすぎる! ♪...
3 ラムネ / GUMI わたしょ 57517 すき…… 88888888888888888888 GJ oooo upotu 大好き めちゃくちゃすきなん 中毒性高い ほんとにこれ好きです ほんと好き カッコいいGUMIのほう
3 【初音ミク】 ハウリング・マイハート 【オリジナル・のぼる↑】 のぼる↑ 64661 めっちゃいい曲 のぼる↑さんのメロデ あけおめ・ことよろ もっも評価されるべき やっぱのぼるさん音楽 大好きです!! 88888888888888888888 のぼるさん!お帰りな ここ好...
3 【IA】 ハートブレイク≒ブルース 【オリジナル曲】 気怠い。 81245 IAの声めっちゃいい 何でこれ伸びないの? 伸びてほしい (゜∀゜ノノ"☆パ いいー! サイコー ギターエグい 伸びてぇ! 伸ばせ伸ばせ! めっちゃ伸びたなぁ 88888888888888888888
3 いまのあと/ぽてfeat.IA ぽて 19612 かわいい 疲れが薄れてなくなる もっと伸びろ かわいい うぽつ すき 歌詞とてもよき 88888888888888888888 ああ好き 今が良かったと思いた 踊ってない夜を知らな うぽつ のびるべき サビ好き ...
3 【初音ミク】 スターナイトスノウ 【オリジナル】 n-buna 896610 ミクプリキュアみたい 神 ここすこ ざわ ここすき ハッピーの水色ばんだ ここ可愛い!! 作者がn-bunaさんだと ミク寒くないのかな ぬぬ 何にしても雪ミクは本 いいね! ほんと最近ハマった(( 足寒そ...
3 ギアナ制作 「1/4th」 KAITO 楠木明 20718 訳ありがとう 歌詞がわかるとより切 KAITO&英語最高!! 翻訳を見ながら聞くと 中毒性がはんぱない 1月4日…?それとも… 兄さんの曲だと俺は今 888888888888888888 凄いサウンド、絵も素
3 【闇音レンリ】ナーヴ・インパルス【オリジナル】 ポリスピカデリー 189012 あなたが神かw すごいなあ 声の入りのなんともい 歌い方宇多田に似てる 止まらないけど 凄くいい… utau はあああああああああ ここ音がとまる… さすがレンリマスター まじでのびてほし...
3 Swimsuit-初音ミク for LamazeP 名無し 38845 ここら辺ハモリたくな プールサイドが故郷っ さわやかで好き 胸囲の格差社会!! ←水着 GJ Y ラマーズPの本領はPだ Q ミクとマキが水泳で対
3 ストラテリウム / ねこぼーろfeat.初音ミク ササノマリイ/ねこぼーろ 58008 うぽつ うぽつ もっと伸びて欲しい *.☆°*.☆°*.☆°*.☆°*.☆° *.☆°*.☆°*.☆°*.☆°*.☆°
3 【オリジナル曲PV】メリバメロル【初音ミク・結月ゆかり】 あのねファンタズム 31933 ここすき 大好き JOYにまともな歌詞つ JOYSOUNDnoMポストま めいいちと結婚おめで めいいちと結婚 すごい すき 少女終末旅行のed感あ ジョイサウンドMポス
3 ミスった/初音ミク みみみエナ 1660 さいこうでは かっけえ すごい なんか英語聴こえた? 久しぶりじゃないです かっこよすぎて唖然 死ぬほどかっこいい 作詞作曲:みみみエナ ミスつた 歌:初音ミク やっちーキニコミ うぽつですー! うぽつです。 おもろい リズム志向いい感じ。 kak...

というわけで、1位はwowaka『アンノウン・マザーグース』feat. 初音ミクでした。

この曲は2010年ごろにボカロ界の最前線を走っていた超有名人wowakaさんが6年ぶりに出した新曲です! www.nicovideo.jp

2位の『アイドル』はPuhyunecoさんというかたによるもの。投稿された8月31日は初音ミクの誕生日です。

www.nicovideo.jp

3位の『違います』は目赤くなる さんというかたの作品。Siriとの掛け合い!

www.nicovideo.jp

ベスト3はこういう感じでした!

マイリストと初音ミクらしさ

世界があたしを拒んでも 今、愛の唄 歌わせてくれないかな
もう一回 誰も知らないその想い
この声に預けてみてもいいかな
あなたには僕が見えるか?
あなたには僕が見えるか?
ラクタばかり 投げつけられてきたその背中
それでも好きと言えたなら
それでも好きを願えたら
ああ、あたしの全部に その意味はあると――

上記は『アンノウン・マザーグース』のサビの歌詞です。

こういう歌詞が、まるで初音ミクが内省しているみたいに見えるところがよい、んですね♪

いまでもニコニコ動画のマイリストを活用するようなひとは、ツイートをスクショする勢と比較して、むかしからボカロ界にいて、界隈に愛着があるひとが多いようにわたしは思っています。

そして『アンノウン・マザーグース』の曲や歌詞や、wowakaさんをとりまくストーリーが、ボカロガチ勢のハートに響いたんだろうな、とわたしは考えています。

でもこの特徴は、この曲だけのものではありません。

それは、上記3曲に共通の特徴です。

2曲目の『アイドル』が投稿された8月31日は初音ミクの誕生日です。 しかも歌詞には「sixteen」という言葉がでてきます。初音ミクの年齢と同じです。

https://ja.wikipedia.org/wiki/%E5%88%9D%E9%9F%B3%E3%83%9F%E3%82%AF#cite_ref-miku_package_12-1

だからこの曲も、登場人物が初音ミクであることをすこし匂わせています。

3曲目の『違います』もその点では同じです。

この曲はSiriと初音ミクさんの声が掛け合いながら曲が進んでいきます。

ボカロ曲は、ボーカロイドが歌うことに必然性がないと嫌だ!😡というかたも世の中にはいらっしゃいますが、ふだんだったら、初音ミク(あるいはボーカロイド)という言葉を使わずに、ボカロ曲の歌詞やボーカルのことを話すことはカンタンです。

hacosato.hatenablog.com

たとえばわたしはナブナ feat.初音ミク『メリュー』の歌詞のことを考えたとき、ボーカロイドのことにも初音ミクのことにもまったく触れませんでした。

でもこの『違います』のボーカルについて、初音ミクのことに触れないでいるのはちょっと難しいです…。

わたしはSiriと会話したことがあるし、その過程であいつは機械的で融通がきかないやつ、っていう発想を刷り込まれています。

だからこの曲を聴くと、どうしてもSiriではないほう、つまり初音ミクのほうに自分を重ね合わせてしまうんですね。初音ミクだって機械なのにッ!

そういうわたしたちの私達のボーカロイド観に懐中電灯を当てるような、そういう曲が上位に選ばれているような気がした、そんな「#2017年ボカロ10選」でした!

おしまい!!


hacosato.hatenablog.com hacosato.hatenablog.com

記事の冒頭でも書いたとおり、今回の記事は毎年やっているものです。 今年は3年目。 以前よりも検証可能性がUPしてすばらしいですが、今回はスクショをツイートするのが流行だったので、どうもたくさんの情報を取りこぼしているような感じがしてもったいない…。

これをもとにいろいろと論考したい向きには物足りないと思います…技術力…ごめんなさい……。

hacosato.hatenablog.com

再生回数だけで切り取ってまとめた記事も書いたので、よければ比較してみていただけたらと思います。

今回も前回も名前が出てくる『砂の惑星』『アンノウン・マザーグース』はすごいんですね!!

オマケ1

ソースコードを公開しますね。

まず、ツイートを集計してSQLに書き込む部分。ステップ1に相当します。

from twython import Twython, TwythonError
import re
import sqlite3

APP_KEY             ='わわわわ〜〜'
APP_SECRET          ='わわわわ〜〜'
OAUTH_TOKEN         ='わわわわ〜〜'
OAUTH_TOKEN_SECRET  ='わわわわ〜〜'

# Requires Authentication as of Twitter API v1.1
twitter = Twython(APP_KEY, APP_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET)

# データベースに接続
conn = sqlite3.connect('パス〜〜/vocalo2017.db')
c = conn.cursor()

q = '#2017年ボカロ10選'

# Twitterを検索する部分はdefで切り分けた。
# maxidを手入力することができるので、手作業で次ページをめくることができる。

def searchTwitter(q, maxid):
    ids = []
    try:
        search_results = twitter.search(q=q, count=100, max_id=maxid, result_type='recent', include_entities=True)
    except TwythonError as e:
        print(e)
        return 0

    # 最後まで検索し尽くしたらbreakする。
    if len(search_results['statuses']) == 0:
        return 0

    for tweet in search_results['statuses']:
        id = int(tweet['id'])
        ids.append(id)
        print(id)
        print('Tweet from @%s Date: %s' % (tweet['user']['screen_name'], tweet['created_at']))

        nicourl = '0'
        medias = ''
        text = ''

        if 'retweeted_status' in tweet:
            print('Retweeted')
        else:
            # もしもツイートにURLがあったら
            if 'urls' in tweet['entities']:
                ulrs = []
                for url in tweet['entities']['urls']:
                    m = re.search('nicovideo', url['expanded_url'])
                    if m:
                        # ニコニコ動画のURLを表示
                        nicourl = url['expanded_url']
                        print('ニコニコ動画: ', nicourl)
                # urls = [url['expanded_url'] for url in tweet['entities']['urls']]
            # もしも画像があったら
            if 'extended_entities' in tweet:
                if 'media' in tweet['extended_entities']:
                    # for media in tweet['extended_entities']['media']:
                    #     print('画像: ', media['media_url'])
                    medias = '\n'.join([media['media_url'] for media in tweet['extended_entities']['media']])
            text = tweet['text']
            print(text, '\n')
            values = (id, tweet['user']['screen_name'], tweet['created_at'], nicourl, medias, text)
            print(values)
            c.execute('INSERT INTO tweets VALUES(?,?,?,?,?,?)', values)

    # どこまで検索したかを返す。
    return min(ids)


# 100件までしか検索できないので、次の100件を検索するときにどこまで探したのかの目印にする。
maxid = ''

while True:
    result = searchTwitter(q, maxid)
    if result == 0:
        break
    else:
        maxid = result


conn.commit()
conn.close()

ステップ2に相当する部分はこれです。

import sqlite3
import feedparser

# 短縮されたURLを元に戻す
def expandurl(url):
    from urllib.request import urlopen
    try:
        expandedurl = urlopen(url).geturl()
        if url == expandedurl:
            return url
        else:
            return expandurl(expandedurl)
    except:
        return url

# データベースに接続する。
conn = sqlite3.connect('ぱす〜〜/vocalo2017.db')
c = conn.cursor()

c.execute('SELECT screenname, URL FROM tweets WHERE URL != "0"')
results = c.fetchall()
# resultはタプルがリストになった状態で返ってくる。

for result in results:
    screenname = result[0]
    mylisturl = expandurl(result[1]) + "?rss=2.0&lang=ja-jp"

    # RSSを読むのはBeautifulSoupでもできるみたいだけど、feedparserのほうがカンタンみたい。
    doc = feedparser.parse(mylisturl)

    for entry in doc.entries:
        values = (screenname, entry.link)
        c.execute('INSERT INTO songs VALUES(?,?)', values)

conn.commit()
conn.close()

ステップ3はこんな感じ。

最後printで書き出す部分、|を書き忘れたのでエディタで付け足しました…。

import sqlite3
from collections import Counter
from urllib.request import urlopen
from bs4 import BeautifulSoup as soup

# データベースに接続。
conn = sqlite3.connect('ぱす〜〜/vocalo2017.db')
c = conn.cursor()

c.execute('SELECT smid FROM songs')
results = c.fetchall()

# Counterを使って、数を集計する。
songscounter = Counter(results)

print(songscounter)
print(type(songscounter))

result = []

# ここに表示された内容をエディタにコピーして使う。
print('|票数|タイトル|投稿者|再生数|コメント|')
print('|:--|:--|:--|:--|:--|')

# よくわかんないけど.most_common()を使わないとk, vがないっていわれる…。
for k, v in songscounter.most_common():
    doc = soup(urlopen("http://ext.nicovideo.jp/api/getthumbinfo/" + k[0].split("/")[-1]), "lxml")
    title = doc.find("title").string
    titlemd = f'[{title}]({k[0]})'
    user_nickname = doc.find("user_nickname").string
    view_counter = doc.find("view_counter").string
    last_res_body = doc.find("last_res_body").string
    print(v, titlemd, user_nickname, view_counter, last_res_body, sep='|')

新年早々ボカロの話ばかりになっちゃいました。

次回はJ-POPの話をしますね!!