回答編集履歴

3

修正

2017/04/12 01:35

投稿

退会済みユーザー
test CHANGED
@@ -40,11 +40,11 @@
40
40
 
41
41
  price = t.css('.class2').text.strip!
42
42
 
43
-          if roomType =~ /\A\d{4}\Z/ && date =~ /\A\d{4}-\d{2}-\d{2}\Z/ && price =~ /\A\d+?\Z/
43
+          if roomType =~ /\A\d{4}\Z/ && date =~ /\A\d{4}-\d{2}-\d{2}\Z/ && price =~ /\A\d+?\Z/
44
44
 
45
-            csv << [roomType, date, price]
45
+          csv << [roomType, date, price]
46
46
 
47
-          end
47
+          end
48
48
 
49
49
  sleep 1
50
50
 

2

修正

2017/04/12 01:35

投稿

退会済みユーザー
test CHANGED
@@ -51,3 +51,5 @@
51
51
  end
52
52
 
53
53
  ```
54
+
55
+ 正規表現を使って1行目の様な配列ができるのを阻止する。

1

修正

2017/04/12 01:33

投稿

退会済みユーザー
test CHANGED
@@ -27,3 +27,27 @@
27
27
  必ず1回目であるならば、1回目は出力しないというのはどうでしょうか?
28
28
 
29
29
  (このコードが動くかどうかテストできていません。)
30
+
31
+ ```Ruby
32
+
33
+ tds.each_with_index do |t, i|
34
+
35
+ roomType = doc.css('#ID').text.strip
36
+
37
+ date = t.css('.class1').text
38
+
39
+ date = year.to_s + "-" + m + "-" + d
40
+
41
+ price = t.css('.class2').text.strip!
42
+
43
+          if roomType =~ /\A\d{4}\Z/ && date =~ /\A\d{4}-\d{2}-\d{2}\Z/ && price =~ /\A\d+?\Z/
44
+
45
+            csv << [roomType, date, price]
46
+
47
+          end
48
+
49
+ sleep 1
50
+
51
+ end
52
+
53
+ ```