すりごまの鯖缶?ブログ 2缶目

鯖管のことだったりプログラミングのことだったりマイクラのことだったり

かえってきた(ニコ動から公開マイリストのデータを取ってくる)

ウルトラマン。ではなくすりごまです。
全体的によかったです。

今回はニコニコ動画から公開マイリストのデータを取りたいと思います。

最初に

まず、
http://www.nicovideo.jp/mylist/<マイリスID>?rss=2.0
からデータを取ってきます。
rssxmlが取得できます。

データ構造

マイリス自体のデータ
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
     xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:atom="http://www.w3.org/2005/Atom">

  <channel>

    <title>マイリスト 作業用BGM(単曲のみ)‐ニコニコ動画</title>
    <link>http://www.nicovideo.jp/mylist/38476017</link>
    <atom:link rel="self" type="application/rss+xml" href="http://www.nicovideo.jp/mylist/38476017?rss=2.0"/>
    <description>古い曲中心。時々新曲。
適当に連続再生+シャッフルでいい感じ。</description>
    <pubDate>Wed, 27 Nov 2013 18:44:59 +0900</pubDate>
    <lastBuildDate>Wed, 27 Nov 2013 18:44:59 +0900</lastBuildDate>
    <generator>ニコニコ動画</generator>
    <dc:creator>すりごま</dc:creator>
    <language>ja-jp</language>
    <copyright>(c) niwango, inc. All rights reserved.</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>

サンプルで私の公開マイリストのデータを持ってきました。
データはこの後登録されている動画のデータが入ります。

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
     xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:atom="http://www.w3.org/2005/Atom">

これはrssですよーって言ってる部分です。
今回は必要ないです。

    <title>マイリスト 作業用BGM(単曲のみ)‐ニコニコ動画</title>
    <link>http://www.nicovideo.jp/mylist/38476017</link>
    <atom:link rel="self" type="application/rss+xml" href="http://www.nicovideo.jp/mylist/38476017?rss=2.0"/>
    <description>古い曲中心。時々新曲。
適当に連続再生+シャッフルでいい感じ。</description>
    <pubDate>Wed, 27 Nov 2013 18:44:59 +0900</pubDate>
    <lastBuildDate>Wed, 27 Nov 2013 18:44:59 +0900</lastBuildDate>
    <generator>ニコニコ動画</generator>
    <dc:creator>すりごま</dc:creator>
    <language>ja-jp</language>
    <copyright>(c) niwango, inc. All rights reserved.</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>

上から

  • タイトル
  • マイリスへのリンク
  • RSSへのリンク
  • マイリスを作った人の説明文
  • マイリス自体のデータ更新日(動画を登録しても変わらない)
  • 上と同じ。必要性を感じない
  • 生成サイト名
  • マイリス制作者名
  • 言語
  • コピーライト
  • RSSの表記方法についてのサイト

です。

動画単体のデータ
    <item>
      <title>【鏡音リン】 ロストワンの号哭 【オリジナルPV付】</title>
      <link>http://www.nicovideo.jp/watch/sm20244918</link>
      <guid isPermaLink="false">tag:nicovideo.jp,2013-03-04:/watch/1362394795</guid>
      <pubDate>Thu, 06 Feb 2014 21:51:14 +0900</pubDate>
      <description><![CDATA[<p class="nico-thumbnail"><img alt="【鏡音リン】 ロストワンの号哭 【オリジナルPV付】" src="http://tn-skr3.smilevideo.jp/smile?i=20244918" width="94" height="70" border="0"/></p><p class="nico-description">その号哭は止まらない。■2013年3月6日発売「Neru」メジャー1stフルアルバム『世界征服 / Neru feat.鏡音リン、鏡音レン』収録曲。#2――ロストワンの号哭公式サイト:http://nerusleep.com/全曲クロスフェード:sm20158268Amazon予約受付中:http://amzn.to/ZNRcyC店舗別オリジナル特典:http://p.tl/l1gl握手会情報:http://p.tl/1eR6曲/詞 Neru(mylist/15619229)絵/映像 456(mylist/32823152)音 友達募集P(mylist/22904031)#14――ハウトゥー世界征服 sm20286605</p><p class="nico-info"><small><strong class="nico-info-length">3:37</strong>|<strong class="nico-info-date">2013年03月04日 19:59:55</strong> 投稿</small></p>]]></description>
    </item>

動画データたちはひとつのくくりに入っているわけではなく、itemというタグの中に入ってtitleと同じ階層に配置されます。
上から

  • タイトル
  • 動画へのリンク
  • RSS用ユニークID
  • 動画データ(RSSの内容)

では中の階層を見てみましょう。

<description>
	<![CDATA[
		<p class="nico-thumbnail">
			<img alt="【鏡音リン】 ロストワンの号哭 【オリジナルPV付】" src="http://tn-skr3.smilevideo.jp/smile?i=20244918" width="94" height="70" border="0"/>
		</p>
		<p class="nico-description">その号哭は止まらない。■2013年3月6日発売「Neru」メジャー1stフルアルバム『世界征服 / Neru feat.鏡音リン、鏡音レン』収録曲。#2――ロストワンの号哭公式サイト:http://nerusleep.com/全曲クロスフェード:sm20158268Amazon予約受付中:http://amzn.to/ZNRcyC店舗別オリジナル特典:http://p.tl/l1gl握手会情報:http://p.tl/1eR6曲/詞 Neru(mylist/15619229)絵/映像 456(mylist/32823152)音 友達募集P(mylist/22904031)#14――ハウトゥー世界征服 sm20286605</p>
		<p class="nico-info">
			<small>
				<strong class="nico-info-length">3:37</strong>|<strong class="nico-info-date">2013年03月04日 19:59:55</strong> 投稿
			</small>
		</p>
	]]>
</description>

""を除く)って意味です。
"

"と言うのはサムネですよって意味です。
"

"と言うのは動画情報って意味です。
C#でパースするときにちょっと邪魔です。
上から

  • サムネ画像、及びタイトル
  • 動画説明分
  • 動画の長さ及び投稿日時

です。

結論

何に使うんでしょうね。
自分でもわからんとです。