1
ミックスチャンネルの動画どうやって探してる?超便利な検索方法教えます!
こちらのサイトに書いてある「サイト内検索」を利用すると良さそうです。
「はじまりの恋site:https://mixch.tv」で検索すれば
「はじまりの恋」という単語が含まれる動画が表示されます。
雰囲気それらしい動きをするだけでよいのなら
「はじまりの恋site:https://mixch.tv」の「はじまりの恋」の部分を他の
曲名に変えながらループを回して検索結果の件数を取得していくのが
一番簡単な方法だと私は思います。
そもそも、どこから曲名を手に入れるのかという問題がありますが。
2
「https://mixch.tv/c/数字」
この数字の部分を変更すると動画の一覧の内容が変化します。
私が試したのだと
1 顔出し
3 Love
4 おもしろ
10 ツインズ
13 世界一?
12 ダイエット?
14 ギター?
18 自撮り?
19 コスプレ?
という雰囲気でした(上4つはサイトで表示されているカテゴリ。それ以外は私個人の予想。)
私はMixChannelを利用していないのでよく分かりませんがアプリ内のカテゴリと
もしかしたらリンクしているかも?。
追記:改めて質問を見てみるとタグでした。
3
特定のユーザのページに行ってソースコードを開きclass="item"の数を数えます。(正規表現など。)
追記
3について
Ruby
1require"open-uri"
2
3base = "https://mixch.tv"
4
5user_ids = [ユーザID, ユーザID, ユーザID, ユーザID]
6
7user_ids.each do |element|
8 url = base + "/u/" + element
9 sum = 0
10
11 loop{
12 data = open("#{url}", &:read)
13 movies = data.scan(%r|class="item" href="(.+?)"|).flatten
14 next_url = data.scan(%r|<a href="(.+?)">次へ</a>|).flatten
15
16 sum += movies.length
17
18 if next_url.empty?
19 break
20 end
21
22 url = base + next_url[0]
23 }
24
25 p "#{element} : #{sum}"
26end
自己満足のために追記
Ruby
1require"open-uri" #インターネットにつなぐためのライブラリを呼び出している。
2
3base = "https://mixch.tv" #urlの基本になる部分。
4
5user_ids = [ユーザID, ユーザID, ユーザID, ユーザID] #ユーザIDを配列にすることで複数のユーザを対象にクロールできる。
6
7user_ids.each do |element| #ユーザIDの配列から1つずつ順番に要素を取り出してelementに入れる。
8
9 url = base + "/u/" + element #開くurlを作る。「https://mixch.tv/u/ユーザID」
10
11 sum = 0 #動画数を合計するための入れ物
12
13 loop{ #繰り返しの処理(複数ページを持つユーザ用)
14
15 data = open("#{url}", &:read) #urlを開いて読み込む。読み込んだ結果をdataに入れる。
16
17 movies = data.scan(%r|class="item" href="(.+?)"|).flatten #dataから正規表現で「class="item" href="(.+?)"」を抜き出す。
18 #そうすると[[/u/動画ID],[/u/動画ID], [/u/動画ID], [/u/動画ID]]
19 #みたいな配列ができるので、「flatten」を使って
20 #[/u/動画ID, /u/動画ID, /u/動画ID, /u/動画ID]という形にする。
21
22 sum += movies.length #moviesの要素の数を「length」を使って数えて、sumに加える。
23
24 next_url = data.scan(%r|<a href="(.+?)">次へ</a>|).flatten #次のページがあるか調べる。
25
26 if next_url.empty? #next_urlが空の場合
27
28 break #「loop」を終了させる。
29
30 end
31
32 url = base + next_url[0] #「loop」が終了した場合はここまで到達しない。到達する場合は次のページがあるので次のページのurlを作る。
33
34 }
35
36 p "#{element} : #{sum}" #ユーザIDと動画数を表示させる。
37end
38#シャープより右はコメント
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2017/03/19 03:58
退会済みユーザー
2017/03/19 06:01 編集
2017/03/19 11:39