6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
# File 'lib/TransportScrapper.rb', line 6
def self.scrapewithtime(value, time)
@browser.goto value
doc = Nokogiri::HTML.parse(@browser.html)
onwardtransport_snip = doc.search('div#JourneyRowsOut')
onwardtransport_snip_Full= onwardtransport_snip.css('div.fullTable')
onwardtransport_snip_array = onwardtransport_snip_Full.css('div.tableDataRow.Divtrue')
onwardtransport_snip_array.each do |transport_elemets|
depart= transport_elemets.css('div.tableDataTime.d-T').text.strip!
arrival=transport_elemets.css('div.tableDataTime').text.strip!
route_element=transport_elemets.css('div.tableRowSelector')
route=route_element.css('div.tableData').text.strip!
price_element= transport_elemets.css('div.tableDataFare')
price= price_element.css('span.tablePrice').text
if arrival
arrivalArr=arrival.split(':')
val1 = arrivalArr[1].split(//).last(2).join
val2= arrivalArr[2].split(//).first(2).join
arrival ="#{val1}:#{val2}"
end
if price
price.slice! "\u20AC"
end
if route
route=route.gsub(" ","")
route=route.gsub("\n","")
end
output = Hash.new
output.store("depart", depart)
output.store("arrival", arrival)
output.store("price", price)
output.store("route",route)
output.store("id", "#{depart}_#{arrival}_#{route}")
if(!@outwardArr.include?(output))
@outwardArr.push(output)
end
end
returntransport_snip = doc.search('div#JourneyRowsRet')
returntransport_snip_Full= returntransport_snip.css('div.fullTable')
returntransport_snip_array = returntransport_snip_Full.css('div.tableDataRow.Divtrue')
returntransport_snip_array.each do |transport_elemets|
depart= transport_elemets.css('div.tableDataTime.d-T').text.strip!
arrival= transport_elemets.css('div.tableDataTime').text.strip!
route_element=transport_elemets.css('div.tableRowSelector')
route=route_element.css('div.tableData').text.strip!
price_element= transport_elemets.css('div.tableDataFare')
price= price_element.css('span.tablePrice').text
if arrival
arrivalArr=arrival.split(':')
val1 = arrivalArr[1].split(//).last(2).join
val2= arrivalArr[2].split(//).first(2).join
arrival ="#{val1}:#{val2}"
end
if price
price.slice! "\u20AC"
end
if route
route=route.gsub(" ","")
route=route.gsub("\n","")
end
output = Hash.new
output.store("depart", depart)
output.store("arrival", arrival)
output.store("price", price)
output.store("route",route)
output.store("id", "#{depart}_#{arrival}_#{route}")
if(!@returnArr.include?(output))
@returnArr.push(output)
end
end
puts '----------------------------------------------------------------------------'
puts @outwardArr
puts @returnArr
puts '----------------------------------------------------------------------------'
end
|