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.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/.gitignore +1 -1
  4. data/.idea/workspace.xml +364 -74
  5. data/README.md +13 -2
  6. data/lib/scrapper/scrapped.rb +32 -0
  7. data/lib/scrapper/scrapped_0.rb +32 -0
  8. data/lib/scrapper/scrapped_10.rb +1809 -0
  9. data/lib/scrapper/scrapped_11.rb +1473 -0
  10. data/lib/scrapper/scrapped_12.rb +3482 -0
  11. data/lib/scrapper/scrapped_13.rb +3271 -0
  12. data/lib/scrapper/scrapped_14.rb +4289 -0
  13. data/lib/scrapper/scrapped_15.rb +1271 -0
  14. data/lib/scrapper/scrapped_16.rb +1341 -0
  15. data/lib/scrapper/scrapped_17.rb +2230 -0
  16. data/lib/scrapper/scrapped_18.rb +465 -0
  17. data/lib/scrapper/scrapped_19.rb +1347 -0
  18. data/lib/scrapper/scrapped_2.rb +3645 -0
  19. data/lib/scrapper/scrapped_20.rb +2948 -0
  20. data/lib/scrapper/scrapped_21.rb +2006 -0
  21. data/lib/scrapper/scrapped_22.rb +801 -0
  22. data/lib/scrapper/scrapped_23.rb +893 -0
  23. data/lib/scrapper/scrapped_24.rb +913 -0
  24. data/lib/scrapper/scrapped_25.rb +668 -0
  25. data/lib/scrapper/scrapped_26.rb +3273 -0
  26. data/lib/scrapper/scrapped_27.rb +822 -0
  27. data/lib/scrapper/scrapped_3.rb +4201 -0
  28. data/lib/scrapper/scrapped_4.rb +3820 -0
  29. data/lib/scrapper/scrapped_5.rb +1972 -0
  30. data/lib/scrapper/scrapped_6.rb +1739 -0
  31. data/lib/scrapper/scrapped_7.rb +1515 -0
  32. data/lib/scrapper/scrapped_8.rb +2426 -0
  33. data/lib/scrapper/scrapped_9.rb +2174 -0
  34. data/lib/scrapper/scrapper.rb +57 -0
  35. data/lib/world_airports/version.rb +1 -1
  36. data/lib/world_airports.rb +3 -3
  37. data.tar.gz.sig +0 -0
  38. metadata +30 -2
  39. metadata.gz.sig +0 -0
  40. 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
@@ -1,4 +1,4 @@
1
1
  # encoding: UTF-8
2
2
  module WorldAirports
3
- VERSION = "1.1.0"
3
+ VERSION = "1.1.1"
4
4
  end
@@ -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 = scrapped_airports[iata_code.to_s.upcase]
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.0
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