回答編集履歴

2

補足

2017/02/01 13:18

投稿

退会済みユーザー
test CHANGED
@@ -64,7 +64,7 @@
64
64
 
65
65
  ###補足
66
66
 
67
- Neverまとめの構造を理解していませんでした。よく見てみると
67
+ Neverまとめを理解していませんでした。よく見てみると
68
68
 
69
69
  開いたときに出てくる記事が全てではないということが分かりました。
70
70
 

1

補足

2017/02/01 13:18

投稿

退会済みユーザー
test CHANGED
@@ -61,3 +61,83 @@
61
61
  ```
62
62
 
63
63
  考えてみました。収集した記事のタイトルとURLは「URL集」に保存されます。
64
+
65
+ ###補足
66
+
67
+ Neverまとめの構造を理解していませんでした。よく見てみると
68
+
69
+ 開いたときに出てくる記事が全てではないということが分かりました。
70
+
71
+
72
+
73
+ 変更
74
+
75
+ ```Ruby
76
+
77
+ #encoding : utf-8
78
+
79
+ require"open-uri"
80
+
81
+ require"certified"
82
+
83
+
84
+
85
+ base = "https://matome.naver.jp/topic/1Lv56"
86
+
87
+
88
+
89
+ url = base
90
+
91
+
92
+
93
+ puts "作業開始"
94
+
95
+
96
+
97
+ loop{
98
+
99
+ sleep(4)
100
+
101
+ page = open(url, &:read)
102
+
103
+ title = page.scan(%r|<a href="(.+?)" >(.+?)</a></h3>|)
104
+
105
+
106
+
107
+ File.open("URL集.txt", "a") do |f|
108
+
109
+ title.each do |element|
110
+
111
+ f.puts("#{element[1]}" + "\t" + "#{element[0]}")
112
+
113
+ end
114
+
115
+ end
116
+
117
+
118
+
119
+ next_page = page.scan(%r|<strong>(.+?)</strong>|).flatten[0].to_i + 1
120
+
121
+ list = page.scan(%r|<a href="#" onclick="(.+?)" >(\d+?)</a>|).map{|e| e[1].to_i}
122
+
123
+ if list.include?(next_page)
124
+
125
+ url = base + "?page=" + next_page.to_s
126
+
127
+ puts "次は#{next_page}ページ目です。"
128
+
129
+ else
130
+
131
+ break
132
+
133
+ end
134
+
135
+ }
136
+
137
+ ```
138
+
139
+ 各トピックのURLをとることができれば、eachで配列から一つずつbaseに入れて
140
+
141
+ 動かせます。どうやって各トピックのURLを集めるのかという問題がありますが。
142
+
143
+ 記事被りについては、別で対応した方が楽だろうと私個人は思います。