回答編集履歴

1

追記

2019/08/18 10:48

投稿

退会済みユーザー
test CHANGED
@@ -47,3 +47,99 @@
47
47
  参考:
48
48
 
49
49
  [Mechanizeでサイトログインしてスクレイピングするときのアレコレ メモ](https://qiita.com/meguroman/items/6d2520ec83ffa4dfc0c7#クリックでページ遷移する)
50
+
51
+
52
+
53
+
54
+
55
+ 追記:
56
+
57
+ ```Ruby
58
+
59
+ # 記事一覧1ページ目
60
+
61
+ page1 = <<-PAGE
62
+
63
+ url01
64
+
65
+ url02
66
+
67
+ url03
68
+
69
+ PAGE
70
+
71
+
72
+
73
+ # 記事一覧2ページ目
74
+
75
+ page2 = <<-PAGE
76
+
77
+ url04
78
+
79
+ url05
80
+
81
+ url06
82
+
83
+ PAGE
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+ # 現行(単一ページのurlを取得 -> 処理)
92
+
93
+ urls = page1.split("\n") # urlの一覧取得
94
+
95
+
96
+
97
+ urls.map(&:strip).each do |url|
98
+
99
+ puts url
100
+
101
+ puts 'タイトル', '住所', '自社URL', '人数'
102
+
103
+ puts '-' * 20
104
+
105
+ end
106
+
107
+
108
+
109
+ puts '*' * 20
110
+
111
+
112
+
113
+ # 新規(複数ページのurlを取得 -> 処理)
114
+
115
+ page = 'page1'
116
+
117
+ urls = []
118
+
119
+
120
+
121
+ 1.step do |i|
122
+
123
+ urls.concat(eval("#{page}.split(\"\n\")")) # 現ページのurlの一覧取得
124
+
125
+ break unless eval("defined? page#{i + 1}") # 次のページがなければbreak
126
+
127
+ page = "page#{i + 1}" # 次のページを開く
128
+
129
+ end
130
+
131
+
132
+
133
+ urls.map(&:strip).each do |url|
134
+
135
+ puts url
136
+
137
+ puts 'タイトル', '住所', '自社URL', '人数'
138
+
139
+ puts '-' * 20
140
+
141
+ end
142
+
143
+
144
+
145
+ ```