回答編集履歴

11

修正

2017/03/19 15:43

投稿

退会済みユーザー
test CHANGED
@@ -74,6 +74,64 @@
74
74
 
75
75
  ```Ruby
76
76
 
77
+ require"open-uri"
78
+
79
+
80
+
81
+ base = "https://mixch.tv"
82
+
83
+
84
+
85
+ user_ids = [ユーザID, ユーザID, ユーザID, ユーザID]
86
+
87
+
88
+
89
+ user_ids.each do |element|
90
+
91
+ url = base + "/u/" + element
92
+
93
+ sum = 0
94
+
95
+
96
+
97
+ loop{
98
+
99
+ data = open("#{url}", &:read)
100
+
101
+ movies = data.scan(%r|class="item" href="(.+?)"|).flatten
102
+
103
+ next_url = data.scan(%r|<a href="(.+?)">次へ</a>|).flatten
104
+
105
+
106
+
107
+ sum += movies.length
108
+
109
+
110
+
111
+ if next_url.empty?
112
+
113
+ break
114
+
115
+ end
116
+
117
+
118
+
119
+ url = base + next_url[0]
120
+
121
+ }
122
+
123
+
124
+
125
+ p "#{element} : #{sum}"
126
+
127
+ end
128
+
129
+ ```
130
+
131
+ 自己満足のために追記
132
+
133
+ ```Ruby
134
+
77
135
  require"open-uri" #インターネットにつなぐためのライブラリを呼び出している。
78
136
 
79
137
 

10

修正

2017/03/19 15:43

投稿

退会済みユーザー
test CHANGED
@@ -102,7 +102,7 @@
102
102
 
103
103
 
104
104
 
105
- data = open("#{url}", &:read) #urlを開いて読み込む。読み込んだ結果をdataに入れる。
105
+ data = open("#{url}", &:read) #urlを開いて読み込む。読み込んだ結果をdataに入れる。
106
106
 
107
107
 
108
108
 
@@ -116,7 +116,7 @@
116
116
 
117
117
 
118
118
 
119
- sum += movies.length #moviesの要素の数をlengthを使って数えて、sumに加える。
119
+ sum += movies.length #moviesの要素の数をlengthを使って数えて、sumに加える。
120
120
 
121
121
 
122
122
 

9

修正

2017/03/19 15:37

投稿

退会済みユーザー
test CHANGED
@@ -86,7 +86,7 @@
86
86
 
87
87
 
88
88
 
89
- user_ids.each do |element| #ユーザIDの配列から1つずつ順番に要素を取り出してelementに入れる。
89
+ user_ids.each do |element| #ユーザIDの配列から1つずつ順番に要素を取り出してelementに入れる。
90
90
 
91
91
 
92
92
 
@@ -136,7 +136,7 @@
136
136
 
137
137
 
138
138
 
139
- url = base + next_url[0] #loopが終了した場合はここまで到達しない。到達する場合は次のページがあるので次のページのurlを作る。
139
+ url = base + next_url[0] #loopが終了した場合はここまで到達しない。到達する場合は次のページがあるので次のページのurlを作る。
140
140
 
141
141
 
142
142
 

8

修正

2017/03/19 15:35

投稿

退会済みユーザー
test CHANGED
@@ -110,7 +110,7 @@
110
110
 
111
111
  #そうすると[[/u/動画ID],[/u/動画ID], [/u/動画ID], [/u/動画ID]]
112
112
 
113
- #みたいな結果返ってくるので、「flatten」を使って
113
+ #みたいな配列できるので、「flatten」を使って
114
114
 
115
115
  #[/u/動画ID, /u/動画ID, /u/動画ID, /u/動画ID]という形にする。
116
116
 

7

修正

2017/03/19 15:31

投稿

退会済みユーザー
test CHANGED
@@ -74,44 +74,80 @@
74
74
 
75
75
  ```Ruby
76
76
 
77
- require"open-uri"
77
+ require"open-uri" #インターネットにつなぐためのライブラリを呼び出している。
78
78
 
79
79
 
80
80
 
81
- base = "https://mixch.tv"
81
+ base = "https://mixch.tv" #urlの基本になる部分。
82
-
83
- user_ids = [ユーザID, ユーザID, ユーザID, ユーザID]
84
82
 
85
83
 
86
84
 
87
- user_ids.each do |element|
85
+ user_ids = [ユーザID, ユーザID, ユーザID, ユーザID] #ユーザIDを配列にすることで複数のユーザを対象にクロールできる。
88
86
 
89
- url = base + "/u/" + element
90
87
 
91
- sum = 0
92
88
 
93
- loop{
89
+ user_ids.each do |element| #ユーザIDの配列から1つずつ順番に要素を取り出して「element」に入れる。
94
90
 
95
- data = open("#{url}", &:read)
96
91
 
97
- movies = data.scan(%r|class="item" href="(.+?)"|).flatten
98
92
 
99
- sum += movies.length
93
+ url = base + "/u/" + element #開くurlを作る。「https://mixch.tv/u/ユーザID」
100
94
 
101
- next_url = data.scan(%r|<a href="(.+?)">次へ</a>|).flatten
102
95
 
103
- if next_url.empty?
104
96
 
97
+ sum = 0 #動画数を合計するための入れ物
98
+
99
+
100
+
101
+ loop{ #繰り返しの処理(複数ページを持つユーザ用)
102
+
103
+
104
+
105
+ data = open("#{url}", &:read) #「url」を開いて読み込む。読み込んだ結果をdataに入れる。
106
+
107
+
108
+
109
+ movies = data.scan(%r|class="item" href="(.+?)"|).flatten #dataから正規表現で「class="item" href="(.+?)"」を抜き出す。
110
+
111
+ #そうすると[[/u/動画ID],[/u/動画ID], [/u/動画ID], [/u/動画ID]]
112
+
113
+ #みたいな結果が返ってくるので、「flatten」を使って
114
+
115
+ #[/u/動画ID, /u/動画ID, /u/動画ID, /u/動画ID]という形にする。
116
+
117
+
118
+
119
+ sum += movies.length #moviesの要素の数をlengthを使って数えて、sumに加える。
120
+
121
+
122
+
123
+ next_url = data.scan(%r|<a href="(.+?)">次へ</a>|).flatten #次のページがあるか調べる。
124
+
125
+
126
+
127
+ if next_url.empty? #next_urlが空の場合
128
+
129
+
130
+
105
- break
131
+ break #「loop」を終了させる。
132
+
133
+
106
134
 
107
135
  end
108
136
 
137
+
138
+
109
- url = base + next_url[0]
139
+ url = base + next_url[0] #loopが終了した場合はここまで到達しない。到達する場合は次のページがあるので次のページのurlを作る。
140
+
141
+
110
142
 
111
143
  }
112
144
 
145
+
146
+
113
- p "#{element} : #{sum}"
147
+ p "#{element} : #{sum}" #ユーザIDと動画数を表示させる。
114
148
 
115
149
  end
116
150
 
151
+ #シャープより右はコメント
152
+
117
153
  ```

6

修正

2017/03/19 15:26

投稿

退会済みユーザー
test CHANGED
@@ -67,3 +67,51 @@
67
67
  特定のユーザのページに行ってソースコードを開きclass="item"の数を数えます。(正規表現など。)
68
68
 
69
69
 
70
+
71
+ 追記
72
+
73
+ 3について
74
+
75
+ ```Ruby
76
+
77
+ require"open-uri"
78
+
79
+
80
+
81
+ base = "https://mixch.tv"
82
+
83
+ user_ids = [ユーザID, ユーザID, ユーザID, ユーザID]
84
+
85
+
86
+
87
+ user_ids.each do |element|
88
+
89
+ url = base + "/u/" + element
90
+
91
+ sum = 0
92
+
93
+ loop{
94
+
95
+ data = open("#{url}", &:read)
96
+
97
+ movies = data.scan(%r|class="item" href="(.+?)"|).flatten
98
+
99
+ sum += movies.length
100
+
101
+ next_url = data.scan(%r|<a href="(.+?)">次へ</a>|).flatten
102
+
103
+ if next_url.empty?
104
+
105
+ break
106
+
107
+ end
108
+
109
+ url = base + next_url[0]
110
+
111
+ }
112
+
113
+ p "#{element} : #{sum}"
114
+
115
+ end
116
+
117
+ ```

5

修正

2017/03/19 05:49

投稿

退会済みユーザー
test CHANGED
@@ -64,6 +64,6 @@
64
64
 
65
65
  3
66
66
 
67
- 特定のユーザのページに行ってソースコードを開きclass="item"の数を数えます。
67
+ 特定のユーザのページに行ってソースコードを開きclass="item"の数を数えます。(正規表現など。)
68
68
 
69
69
 

4

修正

2017/03/18 16:51

投稿

退会済みユーザー
test CHANGED
@@ -58,7 +58,7 @@
58
58
 
59
59
  もしかしたらリンクしているかも?。
60
60
 
61
- 追記:改めて質問を見てみるとタグになっていました。
61
+ 追記:改めて質問を見てみるとタグした。
62
62
 
63
63
 
64
64
 

3

修正

2017/03/18 16:25

投稿

退会済みユーザー
test CHANGED
@@ -58,6 +58,8 @@
58
58
 
59
59
  もしかしたらリンクしているかも?。
60
60
 
61
+ 追記:改めて質問を見てみるとタグになっていました。
62
+
61
63
 
62
64
 
63
65
  3

2

修正

2017/03/18 16:24

投稿

退会済みユーザー
test CHANGED
@@ -1,6 +1,6 @@
1
1
  1
2
2
 
3
- ミックスチャンネルの動画どうやって探してる?超便利な検索方法教えます!
3
+ [ミックスチャンネルの動画どうやって探してる?超便利な検索方法教えます!](http://do-ra.org/2016/08/02/52760/)
4
4
 
5
5
  こちらのサイトに書いてある「サイト内検索」を利用すると良さそうです。
6
6
 

1

修正

2017/03/18 16:21

投稿

退会済みユーザー
test CHANGED
@@ -1,17 +1,67 @@
1
- [ミックスチャンネルの動画どうやって探してる?超便利な検索方法教えます!](http://do-ra.org/2016/08/02/52760/)
1
+ 1
2
2
 
3
- こちらサイトに書い「サイト内検索」を利用ると良さそうです。
3
+ ミックスチャンネル動画どうやっ探して?超便利な検索方法教えま
4
4
 
5
- はじまりの恋site:https://mixch.tv」で検索すれば
5
+ こちらのサイトに書いてあるサイト内検索」を利用ると良さそうです。
6
6
 
7
- 「はじまりの恋」という単語が含まる動画が表示されます。
7
+ 「はじまりの恋site:https://mixch.tvで検索す
8
8
 
9
- 雰囲気そらしいきをるだけでよいのなら
9
+ 「はじまりの恋」という単語が含ま画が表示されま
10
10
 
11
- 「はじまりの恋site:https://mixch.tv」の「はじまりの恋」の部分
11
+ 雰囲気それらしい動きするだけでよいなら
12
12
 
13
- 曲名に変えながらループを回して検索結果件数取得していく
13
+ 「はじまり恋site:https://mixch.tv」の「はじまりの恋」の部分
14
14
 
15
+ 曲名に変えながらループを回して検索結果の件数を取得していくのが
16
+
15
- 一番簡単な方法だと私は思います。
17
+ 一番簡単な方法だと私は思います。
16
18
 
17
19
  そもそも、どこから曲名を手に入れるのかという問題がありますが。
20
+
21
+
22
+
23
+ 2
24
+
25
+ 「https://mixch.tv/c/数字」
26
+
27
+
28
+
29
+ この数字の部分を変更すると動画の一覧の内容が変化します。
30
+
31
+ 私が試したのだと
32
+
33
+
34
+
35
+ 1 顔出し
36
+
37
+ 3 Love
38
+
39
+ 4 おもしろ
40
+
41
+ 10 ツインズ
42
+
43
+ 13 世界一?
44
+
45
+ 12 ダイエット?
46
+
47
+ 14 ギター?
48
+
49
+ 18 自撮り?
50
+
51
+ 19 コスプレ?
52
+
53
+
54
+
55
+ という雰囲気でした(上4つはサイトで表示されているカテゴリ。それ以外は私個人の予想。)
56
+
57
+ 私はMixChannelを利用していないのでよく分かりませんがアプリ内のカテゴリと
58
+
59
+ もしかしたらリンクしているかも?。
60
+
61
+
62
+
63
+ 3
64
+
65
+ 特定のユーザのページに行ってソースコードを開きclass="item"の数を数えます。
66
+
67
+