world_airports 1.1.0 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/.gitignore +1 -1
- data/.idea/workspace.xml +364 -74
- data/README.md +13 -2
- data/lib/scrapper/scrapped.rb +32 -0
- data/lib/scrapper/scrapped_0.rb +32 -0
- data/lib/scrapper/scrapped_10.rb +1809 -0
- data/lib/scrapper/scrapped_11.rb +1473 -0
- data/lib/scrapper/scrapped_12.rb +3482 -0
- data/lib/scrapper/scrapped_13.rb +3271 -0
- data/lib/scrapper/scrapped_14.rb +4289 -0
- data/lib/scrapper/scrapped_15.rb +1271 -0
- data/lib/scrapper/scrapped_16.rb +1341 -0
- data/lib/scrapper/scrapped_17.rb +2230 -0
- data/lib/scrapper/scrapped_18.rb +465 -0
- data/lib/scrapper/scrapped_19.rb +1347 -0
- data/lib/scrapper/scrapped_2.rb +3645 -0
- data/lib/scrapper/scrapped_20.rb +2948 -0
- data/lib/scrapper/scrapped_21.rb +2006 -0
- data/lib/scrapper/scrapped_22.rb +801 -0
- data/lib/scrapper/scrapped_23.rb +893 -0
- data/lib/scrapper/scrapped_24.rb +913 -0
- data/lib/scrapper/scrapped_25.rb +668 -0
- data/lib/scrapper/scrapped_26.rb +3273 -0
- data/lib/scrapper/scrapped_27.rb +822 -0
- data/lib/scrapper/scrapped_3.rb +4201 -0
- data/lib/scrapper/scrapped_4.rb +3820 -0
- data/lib/scrapper/scrapped_5.rb +1972 -0
- data/lib/scrapper/scrapped_6.rb +1739 -0
- data/lib/scrapper/scrapped_7.rb +1515 -0
- data/lib/scrapper/scrapped_8.rb +2426 -0
- data/lib/scrapper/scrapped_9.rb +2174 -0
- data/lib/scrapper/scrapper.rb +57 -0
- data/lib/world_airports/version.rb +1 -1
- data/lib/world_airports.rb +3 -3
- data.tar.gz.sig +0 -0
- metadata +30 -2
- metadata.gz.sig +0 -0
- data/lib/scrapped.rb +0 -5
@@ -0,0 +1,57 @@
|
|
1
|
+
require "watir"
|
2
|
+
require "pp"
|
3
|
+
|
4
|
+
def scrape
|
5
|
+
b = Watir::Browser.new :chrome
|
6
|
+
|
7
|
+
b.goto "http://en.wikipedia.org/wiki/List_of_airports"
|
8
|
+
|
9
|
+
links_to_scrape = b.p(xpath: "//p[strong[@class='selflink' and contains(text(), 'List') and contains(text(), 'airport')]]")
|
10
|
+
links_to_scrape = links_to_scrape.as.to_a
|
11
|
+
links_to_scrape.map! { |a| a.attribute_value("href") }
|
12
|
+
|
13
|
+
links_to_scrape
|
14
|
+
|
15
|
+
airports ||= {}
|
16
|
+
|
17
|
+
links_to_scrape.each.with_index(1) do |link, idx|
|
18
|
+
puts "SCRAPING #{link}"
|
19
|
+
b.goto link
|
20
|
+
|
21
|
+
table = b.table(xpath: "//table[thead[tr[th[text()='IATA']]]]")
|
22
|
+
next unless table.present?
|
23
|
+
|
24
|
+
cur_airp = {}
|
25
|
+
table.trs.each do |airport_row|
|
26
|
+
next if airport_row.class_name =~ /sortbottom/
|
27
|
+
iata = airport_row.tds[0].text.strip
|
28
|
+
icao = airport_row.tds[1].text
|
29
|
+
name = airport_row.tds[2].text
|
30
|
+
loc = airport_row.tds[3].text
|
31
|
+
city = loc.split(",")[0].strip
|
32
|
+
country = loc.split(",")[-1].strip
|
33
|
+
|
34
|
+
next if iata.length > 3
|
35
|
+
|
36
|
+
cur_airp[iata.upcase] = {
|
37
|
+
iata: iata,
|
38
|
+
name: name,
|
39
|
+
icao: icao,
|
40
|
+
city: city,
|
41
|
+
country: country,
|
42
|
+
location: loc
|
43
|
+
}
|
44
|
+
|
45
|
+
pped = PP.pp(cur_airp, "")
|
46
|
+
File.write("scrapped_#{idx}.rb", %Q{
|
47
|
+
# encoding: UTF-8
|
48
|
+
def airp_#{idx}
|
49
|
+
#{pped}
|
50
|
+
end
|
51
|
+
})
|
52
|
+
end
|
53
|
+
airports.merge!(cur_airp)
|
54
|
+
end
|
55
|
+
|
56
|
+
airports
|
57
|
+
end
|
data/lib/world_airports.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
require "world_airports/version"
|
3
|
-
require "scrapped"
|
3
|
+
require "scrapper/scrapped"
|
4
4
|
|
5
5
|
module WorldAirports
|
6
6
|
class WorldAirports::Airport
|
@@ -13,14 +13,14 @@ module WorldAirports
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def self.iata(iata_code)
|
16
|
-
airport_dt =
|
16
|
+
airport_dt = airport_of iata_code
|
17
17
|
airport = WorldAirports::Airport.new
|
18
18
|
|
19
19
|
if airport_dt
|
20
20
|
airport.name = airport_dt[:name]
|
21
21
|
airport.location = airport_dt[:location]
|
22
22
|
airport.icao = airport_dt[:icao]
|
23
|
-
airport.iata = airport_dt[:iata]
|
23
|
+
airport.iata = airport_dt[:iata].upcase
|
24
24
|
airport.country = airport_dt[:country]
|
25
25
|
airport.city = airport.location.split(",")[0]
|
26
26
|
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: world_airports
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Pahlevi
|
@@ -84,7 +84,35 @@ files:
|
|
84
84
|
- Rakefile
|
85
85
|
- certs/adampahlevi.pem
|
86
86
|
- gem-public_cert.pem
|
87
|
-
- lib/scrapped.rb
|
87
|
+
- lib/scrapper/scrapped.rb
|
88
|
+
- lib/scrapper/scrapped_0.rb
|
89
|
+
- lib/scrapper/scrapped_10.rb
|
90
|
+
- lib/scrapper/scrapped_11.rb
|
91
|
+
- lib/scrapper/scrapped_12.rb
|
92
|
+
- lib/scrapper/scrapped_13.rb
|
93
|
+
- lib/scrapper/scrapped_14.rb
|
94
|
+
- lib/scrapper/scrapped_15.rb
|
95
|
+
- lib/scrapper/scrapped_16.rb
|
96
|
+
- lib/scrapper/scrapped_17.rb
|
97
|
+
- lib/scrapper/scrapped_18.rb
|
98
|
+
- lib/scrapper/scrapped_19.rb
|
99
|
+
- lib/scrapper/scrapped_2.rb
|
100
|
+
- lib/scrapper/scrapped_20.rb
|
101
|
+
- lib/scrapper/scrapped_21.rb
|
102
|
+
- lib/scrapper/scrapped_22.rb
|
103
|
+
- lib/scrapper/scrapped_23.rb
|
104
|
+
- lib/scrapper/scrapped_24.rb
|
105
|
+
- lib/scrapper/scrapped_25.rb
|
106
|
+
- lib/scrapper/scrapped_26.rb
|
107
|
+
- lib/scrapper/scrapped_27.rb
|
108
|
+
- lib/scrapper/scrapped_3.rb
|
109
|
+
- lib/scrapper/scrapped_4.rb
|
110
|
+
- lib/scrapper/scrapped_5.rb
|
111
|
+
- lib/scrapper/scrapped_6.rb
|
112
|
+
- lib/scrapper/scrapped_7.rb
|
113
|
+
- lib/scrapper/scrapped_8.rb
|
114
|
+
- lib/scrapper/scrapped_9.rb
|
115
|
+
- lib/scrapper/scrapper.rb
|
88
116
|
- lib/world_airports.rb
|
89
117
|
- lib/world_airports/version.rb
|
90
118
|
- out.txt
|
metadata.gz.sig
CHANGED
Binary file
|