├── .github └── workflows │ └── main.yml ├── README.md ├── index.js ├── package.json └── veri.json /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: UÇAK VERİLERİNİ AL 2 | 3 | on: 4 | schedule: 5 | - cron: '*/5 * * * *' # Her 5 dakikada bir çalıştır 6 | 7 | jobs: 8 | fetch-and-update-data: 9 | runs-on: ubuntu-latest 10 | 11 | steps: 12 | - name: Checkout repository 13 | uses: actions/checkout@v2 14 | 15 | - name: Set up Node.js 16 | uses: actions/setup-node@v2 17 | with: 18 | node-version: '14' 19 | 20 | - name: Install dependencies 21 | run: npm install 22 | 23 | - name: Fetch Data and Update veri.json 24 | run: | 25 | node index.js # Script 26 | git add veri.json 27 | git config --global user.email "codermert@bk.ru" 28 | git config --global user.name "codermert" 29 | git diff --cached --exit-code --quiet || git commit -m "🕰 Güncel Uçak biletleri » @codermert" 30 | git push 31 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ✈️ Uçak Bilgi Toplayıcı 2 | 3 | Bu proje, [Flightlist.io](https://www.flightlist.io/) sitesinden uçuş verilerini çekip JSON formatında kaydeden bir Node.js scriptidir. 🎯 4 | 5 | ## 🚀 Başlangıç 6 | 7 | Bu proje ile uçuş bilgilerini hızlı bir şekilde toplayabilir ve verilerinizi JSON dosyasında saklayabilirsiniz. Aşağıdaki adımları takip ederek projeyi kurabilir ve çalıştırabilirsiniz. 8 | 9 | ### 🔧 Gereksinimler 10 | 11 | - Node.js (v14 veya üzeri) 12 | - NPM (Node Package Manager) 13 | 14 | ### 📦 Kurulum 15 | 16 | Proje dosyasını klonlayın ve bağımlılıkları yükleyin: 17 | 18 | ```bash 19 | git clone https://github.com/codermert/Book-Flights 20 | cd Book-Flights 21 | npm install 22 | ``` 23 | 24 | ### 🛠️ Teknolojiler 25 | Node.js 26 | Cheerio - HTML parseling için 27 | date-fns - Tarih işlemleri için 28 | node-fetch - HTTP istekleri için 29 | 30 | ### 📄 Lisans 31 | Bu proje ISC lisansı ile lisanslanmıştır. 32 | 33 | 🎉 Projeyi beğendiyseniz, ⭐️ vermeyi unutmayın! 34 | 35 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | const fetch = require('node-fetch'); 2 | const cheerio = require('cheerio'); 3 | const { format, parse } = require('date-fns'); 4 | const { tr } = require('date-fns/locale'); 5 | const fs = require('fs'); 6 | 7 | const url = 'https://www.flightlist.io/'; 8 | 9 | fetch(url) 10 | .then(response => response.text()) 11 | .then(body => { 12 | const $ = cheerio.load(body); 13 | const flightData = []; 14 | 15 | $('li.flight').each((index, element) => { 16 | let price = $(element).find('.price').text().trim(); 17 | const airline = $(element).find('img').attr('alt'); 18 | const timeRange = $(element).find('.reduced').text().trim(); 19 | let date = $(element).find('.text-muted').first().text().trim(); 20 | let duration = $(element).find('.col-xs-5.col-sm-5.col-md-5').first().text().trim().split('\n')[0].trim(); 21 | const route = $(element).find('.col-xs-5.col-sm-5.col-md-5').find('.text-muted').text().trim(); 22 | const direct = $(element).find('.col-xs-2.col-sm-2.col-md-2.px-0').text().trim(); 23 | 24 | // Fiyatı USD olarak ayarla 25 | price = `${price} USD`; 26 | 27 | // Tarihi Türkçe'ye çevir 28 | let parsedDate; 29 | try { 30 | parsedDate = parse(date, 'EEE MMM do yyyy', new Date()); 31 | date = format(parsedDate, 'd MMMM yyyy, EEEE', { locale: tr }); 32 | } catch (error) { 33 | console.error('Tarih parse edilirken hata oluştu:', error); 34 | date = 'Geçersiz tarih'; // or any default/fallback value 35 | } 36 | 37 | // Süreyi Türkçe'ye çevir 38 | const durationParts = duration.match(/(\d+)h\s+(\d+)m/); 39 | if (durationParts) { 40 | const hours = parseInt(durationParts[1], 10); 41 | const minutes = parseInt(durationParts[2], 10); 42 | duration = `${hours} saat ${minutes} dakika`; 43 | } else { 44 | duration = 'Geçersiz süre'; // or any default/fallback value 45 | } 46 | 47 | flightData.push({ 48 | fiyat: price, 49 | havayolu: airline, 50 | zamanaralik: timeRange, 51 | tarih: date, 52 | sure: duration, 53 | guzergah: route, 54 | direkt: direct, 55 | }); 56 | }); 57 | 58 | // JSON çıktısını veri.json dosyasına kaydet 59 | fs.writeFile('veri.json', JSON.stringify(flightData, null, 2), (err) => { 60 | if (err) { 61 | console.error('Dosya kaydedilirken hata oluştu:', err); 62 | } else { 63 | console.log('Veri başarıyla veri.json dosyasına kaydedildi.'); 64 | } 65 | }); 66 | }) 67 | .catch(error => { 68 | console.error('Hata:', error); 69 | }); 70 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ucak-bilgileri", 3 | "version": "1.0.0", 4 | "description": "Uçuş verilerini toplayan app", 5 | "main": "script.js", 6 | "scripts": { 7 | "start": "node index.js" 8 | }, 9 | "author": "Mert", 10 | "license": "ISC", 11 | "dependencies": { 12 | "cheerio": "^1.0.0-rc.10", 13 | "date-fns": "^2.29.2", 14 | "node-fetch": "^2.6.7" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /veri.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "fiyat": "11 USD", 4 | "havayolu": "Wizz Air", 5 | "zamanaralik": "9:25pm -\n11:35pm", 6 | "tarih": "4 Eylül 2024, Çarşamba", 7 | "sure": "2 saat 10 dakika", 8 | "guzergah": "Malmö (MMX) →\nBelgrade (BEG)", 9 | "direkt": "Direct" 10 | }, 11 | { 12 | "fiyat": "13.97 USD", 13 | "havayolu": "Ryanair UK", 14 | "zamanaralik": "9:50pm -\n10:45pm", 15 | "tarih": "12 Ağustos 2024, Pazartesi", 16 | "sure": "1 saat 55 dakika", 17 | "guzergah": "Oslo (TRF) →\nLondon (STN)", 18 | "direkt": "Direct" 19 | }, 20 | { 21 | "fiyat": "13.97 USD", 22 | "havayolu": "Ryanair UK", 23 | "zamanaralik": "10:15am -\n11:25am", 24 | "tarih": "9 Eylül 2024, Pazartesi", 25 | "sure": "2 saat 10 dakika", 26 | "guzergah": "Oslo (OSL) →\nLondon (STN)", 27 | "direkt": "Direct" 28 | }, 29 | { 30 | "fiyat": "14.64 USD", 31 | "havayolu": "Ryanair", 32 | "zamanaralik": "10:50am -\n11:50am", 33 | "tarih": "7 Eylül 2024, Cumartesi", 34 | "sure": "2 saat 0 dakika", 35 | "guzergah": "Gothenburg (GOT) →\nManchester (MAN)", 36 | "direkt": "Direct" 37 | }, 38 | { 39 | "fiyat": "14.64 USD", 40 | "havayolu": "Ryanair", 41 | "zamanaralik": "8:30pm -\n9:30pm", 42 | "tarih": "8 Eylül 2024, Pazar", 43 | "sure": "2 saat 0 dakika", 44 | "guzergah": "Gothenburg (GOT) →\nLondon (STN)", 45 | "direkt": "Direct" 46 | }, 47 | { 48 | "fiyat": "14.64 USD", 49 | "havayolu": "Ryanair", 50 | "zamanaralik": "10:15pm -\n11:15pm", 51 | "tarih": "6 Eylül 2024, Cuma", 52 | "sure": "2 saat 0 dakika", 53 | "guzergah": "Gothenburg (GOT) →\nManchester (MAN)", 54 | "direkt": "Direct" 55 | }, 56 | { 57 | "fiyat": "14.64 USD", 58 | "havayolu": "Ryanair", 59 | "zamanaralik": "3:10pm -\n4:10pm", 60 | "tarih": "9 Eylül 2024, Pazartesi", 61 | "sure": "2 saat 0 dakika", 62 | "guzergah": "Gothenburg (GOT) →\nLondon (STN)", 63 | "direkt": "Direct" 64 | }, 65 | { 66 | "fiyat": "14.64 USD", 67 | "havayolu": "Ryanair", 68 | "zamanaralik": "10:50am -\n12:00pm", 69 | "tarih": "13 Ağustos 2024, Salı", 70 | "sure": "2 saat 10 dakika", 71 | "guzergah": "Örebro (ORB) →\nLondon (STN)", 72 | "direkt": "Direct" 73 | }, 74 | { 75 | "fiyat": "14.64 USD", 76 | "havayolu": "Ryanair", 77 | "zamanaralik": "3:50pm -\n5:00pm", 78 | "tarih": "7 Eylül 2024, Cumartesi", 79 | "sure": "2 saat 10 dakika", 80 | "guzergah": "Örebro (ORB) →\nLondon (STN)", 81 | "direkt": "Direct" 82 | }, 83 | { 84 | "fiyat": "14.64 USD", 85 | "havayolu": "Ryanair", 86 | "zamanaralik": "5:45am -\n8:55am", 87 | "tarih": "18 Ağustos 2024, Pazar", 88 | "sure": "3 saat 10 dakika", 89 | "guzergah": "Stockholm (ARN) →\nTirana (TIA)", 90 | "direkt": "Direct" 91 | }, 92 | { 93 | "fiyat": "15 USD", 94 | "havayolu": "Wizz Air Malta", 95 | "zamanaralik": "8:20am -\n9:15am", 96 | "tarih": "4 Eylül 2024, Çarşamba", 97 | "sure": "0 saat 55 dakika", 98 | "guzergah": "Bari (BRI) →\nTirana (TIA)", 99 | "direkt": "Direct" 100 | }, 101 | { 102 | "fiyat": "15 USD", 103 | "havayolu": "Wizz Air Malta", 104 | "zamanaralik": "7:55am -\n8:50am", 105 | "tarih": "9 Eylül 2024, Pazartesi", 106 | "sure": "0 saat 55 dakika", 107 | "guzergah": "Bari (BRI) →\nTirana (TIA)", 108 | "direkt": "Direct" 109 | }, 110 | { 111 | "fiyat": "15 USD", 112 | "havayolu": "Wizz Air Malta", 113 | "zamanaralik": "1:40pm -\n2:35pm", 114 | "tarih": "28 Ağustos 2024, Çarşamba", 115 | "sure": "0 saat 55 dakika", 116 | "guzergah": "Brindisi (BDS) →\nTirana (TIA)", 117 | "direkt": "Direct" 118 | }, 119 | { 120 | "fiyat": "15 USD", 121 | "havayolu": "Wizz Air Malta", 122 | "zamanaralik": "7:40am -\n8:35am", 123 | "tarih": "30 Ağustos 2024, Cuma", 124 | "sure": "0 saat 55 dakika", 125 | "guzergah": "Bari (BRI) →\nTirana (TIA)", 126 | "direkt": "Direct" 127 | }, 128 | { 129 | "fiyat": "15 USD", 130 | "havayolu": "Wizz Air Malta", 131 | "zamanaralik": "8:30am -\n9:25am", 132 | "tarih": "27 Ağustos 2024, Salı", 133 | "sure": "0 saat 55 dakika", 134 | "guzergah": "Bari (BRI) →\nTirana (TIA)", 135 | "direkt": "Direct" 136 | }, 137 | { 138 | "fiyat": "15 USD", 139 | "havayolu": "Wizz Air Malta", 140 | "zamanaralik": "12:50pm -\n1:45pm", 141 | "tarih": "3 Eylül 2024, Salı", 142 | "sure": "0 saat 55 dakika", 143 | "guzergah": "Bari (BRI) →\nTirana (TIA)", 144 | "direkt": "Direct" 145 | }, 146 | { 147 | "fiyat": "15 USD", 148 | "havayolu": "Wizz Air Malta", 149 | "zamanaralik": "8:25am -\n9:20am", 150 | "tarih": "25 Ağustos 2024, Pazar", 151 | "sure": "0 saat 55 dakika", 152 | "guzergah": "Bari (BRI) →\nTirana (TIA)", 153 | "direkt": "Direct" 154 | }, 155 | { 156 | "fiyat": "15 USD", 157 | "havayolu": "Wizz Air Malta", 158 | "zamanaralik": "12:50pm -\n1:45pm", 159 | "tarih": "4 Eylül 2024, Çarşamba", 160 | "sure": "0 saat 55 dakika", 161 | "guzergah": "Bari (BRI) →\nTirana (TIA)", 162 | "direkt": "Direct" 163 | }, 164 | { 165 | "fiyat": "15 USD", 166 | "havayolu": "Wizz Air Malta", 167 | "zamanaralik": "12:55pm -\n1:50pm", 168 | "tarih": "6 Eylül 2024, Cuma", 169 | "sure": "0 saat 55 dakika", 170 | "guzergah": "Bari (BRI) →\nTirana (TIA)", 171 | "direkt": "Direct" 172 | }, 173 | { 174 | "fiyat": "15 USD", 175 | "havayolu": "Wizz Air Malta", 176 | "zamanaralik": "1:05pm -\n2:00pm", 177 | "tarih": "5 Eylül 2024, Perşembe", 178 | "sure": "0 saat 55 dakika", 179 | "guzergah": "Bari (BRI) →\nTirana (TIA)", 180 | "direkt": "Direct" 181 | }, 182 | { 183 | "fiyat": "15 USD", 184 | "havayolu": "Wizz Air Malta", 185 | "zamanaralik": "7:40am -\n8:35am", 186 | "tarih": "23 Ağustos 2024, Cuma", 187 | "sure": "0 saat 55 dakika", 188 | "guzergah": "Bari (BRI) →\nTirana (TIA)", 189 | "direkt": "Direct" 190 | }, 191 | { 192 | "fiyat": "15 USD", 193 | "havayolu": "Wizz Air Malta", 194 | "zamanaralik": "8:30am -\n9:25am", 195 | "tarih": "3 Eylül 2024, Salı", 196 | "sure": "0 saat 55 dakika", 197 | "guzergah": "Bari (BRI) →\nTirana (TIA)", 198 | "direkt": "Direct" 199 | }, 200 | { 201 | "fiyat": "15 USD", 202 | "havayolu": "Wizz Air Malta", 203 | "zamanaralik": "7:35am -\n8:30am", 204 | "tarih": "6 Eylül 2024, Cuma", 205 | "sure": "0 saat 55 dakika", 206 | "guzergah": "Bari (BRI) →\nTirana (TIA)", 207 | "direkt": "Direct" 208 | }, 209 | { 210 | "fiyat": "15 USD", 211 | "havayolu": "Wizz Air Malta", 212 | "zamanaralik": "8:25am -\n9:20am", 213 | "tarih": "29 Ağustos 2024, Perşembe", 214 | "sure": "0 saat 55 dakika", 215 | "guzergah": "Bari (BRI) →\nTirana (TIA)", 216 | "direkt": "Direct" 217 | }, 218 | { 219 | "fiyat": "15 USD", 220 | "havayolu": "Wizz Air Malta", 221 | "zamanaralik": "8:25am -\n9:20am", 222 | "tarih": "8 Eylül 2024, Pazar", 223 | "sure": "0 saat 55 dakika", 224 | "guzergah": "Bari (BRI) →\nTirana (TIA)", 225 | "direkt": "Direct" 226 | }, 227 | { 228 | "fiyat": "15 USD", 229 | "havayolu": "Wizz Air Malta", 230 | "zamanaralik": "1:15pm -\n2:10pm", 231 | "tarih": "7 Eylül 2024, Cumartesi", 232 | "sure": "0 saat 55 dakika", 233 | "guzergah": "Bari (BRI) →\nTirana (TIA)", 234 | "direkt": "Direct" 235 | }, 236 | { 237 | "fiyat": "15 USD", 238 | "havayolu": "Wizz Air Malta", 239 | "zamanaralik": "1:05pm -\n2:00pm", 240 | "tarih": "29 Ağustos 2024, Perşembe", 241 | "sure": "0 saat 55 dakika", 242 | "guzergah": "Bari (BRI) →\nTirana (TIA)", 243 | "direkt": "Direct" 244 | }, 245 | { 246 | "fiyat": "15 USD", 247 | "havayolu": "Wizz Air Malta", 248 | "zamanaralik": "8:20am -\n9:15am", 249 | "tarih": "28 Ağustos 2024, Çarşamba", 250 | "sure": "0 saat 55 dakika", 251 | "guzergah": "Bari (BRI) →\nTirana (TIA)", 252 | "direkt": "Direct" 253 | }, 254 | { 255 | "fiyat": "15 USD", 256 | "havayolu": "Wizz Air Malta", 257 | "zamanaralik": "8:25am -\n9:20am", 258 | "tarih": "5 Eylül 2024, Perşembe", 259 | "sure": "0 saat 55 dakika", 260 | "guzergah": "Bari (BRI) →\nTirana (TIA)", 261 | "direkt": "Direct" 262 | }, 263 | { 264 | "fiyat": "15 USD", 265 | "havayolu": "Wizz Air Malta", 266 | "zamanaralik": "5:55pm -\n7:25pm", 267 | "tarih": "19 Ağustos 2024, Pazartesi", 268 | "sure": "1 saat 30 dakika", 269 | "guzergah": "Venice (TSF) →\nTirana (TIA)", 270 | "direkt": "Direct" 271 | }, 272 | { 273 | "fiyat": "15.96 USD", 274 | "havayolu": "Ryanair", 275 | "zamanaralik": "10:10pm -\n10:00pm", 276 | "tarih": "29 Ağustos 2024, Perşembe", 277 | "sure": "0 saat 50 dakika", 278 | "guzergah": "Málaga (AGP) →\nTangier (TNG)", 279 | "direkt": "Direct" 280 | }, 281 | { 282 | "fiyat": "15.96 USD", 283 | "havayolu": "Ryanair", 284 | "zamanaralik": "6:35am -\n6:25am", 285 | "tarih": "19 Ağustos 2024, Pazartesi", 286 | "sure": "0 saat 50 dakika", 287 | "guzergah": "Málaga (AGP) →\nTangier (TNG)", 288 | "direkt": "Direct" 289 | }, 290 | { 291 | "fiyat": "15.96 USD", 292 | "havayolu": "Ryanair", 293 | "zamanaralik": "6:35am -\n6:25am", 294 | "tarih": "9 Eylül 2024, Pazartesi", 295 | "sure": "0 saat 50 dakika", 296 | "guzergah": "Málaga (AGP) →\nTangier (TNG)", 297 | "direkt": "Direct" 298 | }, 299 | { 300 | "fiyat": "15.96 USD", 301 | "havayolu": "Ryanair", 302 | "zamanaralik": "10:10pm -\n10:00pm", 303 | "tarih": "22 Ağustos 2024, Perşembe", 304 | "sure": "0 saat 50 dakika", 305 | "guzergah": "Málaga (AGP) →\nTangier (TNG)", 306 | "direkt": "Direct" 307 | }, 308 | { 309 | "fiyat": "15.96 USD", 310 | "havayolu": "Ryanair", 311 | "zamanaralik": "10:10pm -\n10:00pm", 312 | "tarih": "5 Eylül 2024, Perşembe", 313 | "sure": "0 saat 50 dakika", 314 | "guzergah": "Málaga (AGP) →\nTangier (TNG)", 315 | "direkt": "Direct" 316 | }, 317 | { 318 | "fiyat": "15.96 USD", 319 | "havayolu": "Ryanair", 320 | "zamanaralik": "6:35am -\n6:25am", 321 | "tarih": "2 Eylül 2024, Pazartesi", 322 | "sure": "0 saat 50 dakika", 323 | "guzergah": "Málaga (AGP) →\nTangier (TNG)", 324 | "direkt": "Direct" 325 | }, 326 | { 327 | "fiyat": "15.96 USD", 328 | "havayolu": "Ryanair", 329 | "zamanaralik": "9:50pm -\n9:40pm", 330 | "tarih": "28 Ağustos 2024, Çarşamba", 331 | "sure": "0 saat 50 dakika", 332 | "guzergah": "Málaga (AGP) →\nTangier (TNG)", 333 | "direkt": "Direct" 334 | }, 335 | { 336 | "fiyat": "15.96 USD", 337 | "havayolu": "Ryanair", 338 | "zamanaralik": "10:10pm -\n10:05pm", 339 | "tarih": "19 Ağustos 2024, Pazartesi", 340 | "sure": "0 saat 55 dakika", 341 | "guzergah": "Málaga (AGP) →\nNador (NDR)", 342 | "direkt": "Direct" 343 | }, 344 | { 345 | "fiyat": "15.96 USD", 346 | "havayolu": "Ryanair", 347 | "zamanaralik": "10:10pm -\n10:05pm", 348 | "tarih": "9 Eylül 2024, Pazartesi", 349 | "sure": "0 saat 55 dakika", 350 | "guzergah": "Málaga (AGP) →\nNador (NDR)", 351 | "direkt": "Direct" 352 | }, 353 | { 354 | "fiyat": "15.96 USD", 355 | "havayolu": "Ryanair", 356 | "zamanaralik": "10:25pm -\n10:20pm", 357 | "tarih": "21 Ağustos 2024, Çarşamba", 358 | "sure": "0 saat 55 dakika", 359 | "guzergah": "Málaga (AGP) →\nNador (NDR)", 360 | "direkt": "Direct" 361 | }, 362 | { 363 | "fiyat": "15.96 USD", 364 | "havayolu": "Ryanair", 365 | "zamanaralik": "10:10pm -\n10:05pm", 366 | "tarih": "26 Ağustos 2024, Pazartesi", 367 | "sure": "0 saat 55 dakika", 368 | "guzergah": "Málaga (AGP) →\nNador (NDR)", 369 | "direkt": "Direct" 370 | }, 371 | { 372 | "fiyat": "15.96 USD", 373 | "havayolu": "Ryanair", 374 | "zamanaralik": "10:25pm -\n10:20pm", 375 | "tarih": "28 Ağustos 2024, Çarşamba", 376 | "sure": "0 saat 55 dakika", 377 | "guzergah": "Málaga (AGP) →\nNador (NDR)", 378 | "direkt": "Direct" 379 | }, 380 | { 381 | "fiyat": "15.96 USD", 382 | "havayolu": "Ryanair", 383 | "zamanaralik": "10:25pm -\n10:20pm", 384 | "tarih": "4 Eylül 2024, Çarşamba", 385 | "sure": "0 saat 55 dakika", 386 | "guzergah": "Málaga (AGP) →\nNador (NDR)", 387 | "direkt": "Direct" 388 | }, 389 | { 390 | "fiyat": "15.96 USD", 391 | "havayolu": "Ryanair", 392 | "zamanaralik": "10:10pm -\n10:05pm", 393 | "tarih": "2 Eylül 2024, Pazartesi", 394 | "sure": "0 saat 55 dakika", 395 | "guzergah": "Málaga (AGP) →\nNador (NDR)", 396 | "direkt": "Direct" 397 | }, 398 | { 399 | "fiyat": "15.96 USD", 400 | "havayolu": "Ryanair", 401 | "zamanaralik": "1:45pm -\n2:45pm", 402 | "tarih": "8 Eylül 2024, Pazar", 403 | "sure": "1 saat 0 dakika", 404 | "guzergah": "Bari (BRI) →\nTirana (TIA)", 405 | "direkt": "Direct" 406 | }, 407 | { 408 | "fiyat": "15.96 USD", 409 | "havayolu": "Ryanair", 410 | "zamanaralik": "6:20am -\n7:20am", 411 | "tarih": "9 Eylül 2024, Pazartesi", 412 | "sure": "1 saat 0 dakika", 413 | "guzergah": "Bari (BRI) →\nTirana (TIA)", 414 | "direkt": "Direct" 415 | }, 416 | { 417 | "fiyat": "15.96 USD", 418 | "havayolu": "Ryanair", 419 | "zamanaralik": "6:50pm -\n7:50pm", 420 | "tarih": "7 Eylül 2024, Cumartesi", 421 | "sure": "1 saat 0 dakika", 422 | "guzergah": "Bari (BRI) →\nTirana (TIA)", 423 | "direkt": "Direct" 424 | }, 425 | { 426 | "fiyat": "15.96 USD", 427 | "havayolu": "Ryanair", 428 | "zamanaralik": "10:45am -\n10:50am", 429 | "tarih": "8 Eylül 2024, Pazar", 430 | "sure": "1 saat 5 dakika", 431 | "guzergah": "Eindhoven (EIN) →\nLondon (STN)", 432 | "direkt": "Direct" 433 | }, 434 | { 435 | "fiyat": "15.96 USD", 436 | "havayolu": "Ryanair", 437 | "zamanaralik": "10:30am -\n10:35am", 438 | "tarih": "9 Eylül 2024, Pazartesi", 439 | "sure": "1 saat 5 dakika", 440 | "guzergah": "Eindhoven (EIN) →\nLondon (STN)", 441 | "direkt": "Direct" 442 | }, 443 | { 444 | "fiyat": "15.96 USD", 445 | "havayolu": "Ryanair", 446 | "zamanaralik": "2:10pm -\n2:15pm", 447 | "tarih": "6 Eylül 2024, Cuma", 448 | "sure": "1 saat 5 dakika", 449 | "guzergah": "Eindhoven (EIN) →\nLondon (STN)", 450 | "direkt": "Direct" 451 | }, 452 | { 453 | "fiyat": "15.96 USD", 454 | "havayolu": "Ryanair", 455 | "zamanaralik": "11:50am -\n11:55am", 456 | "tarih": "6 Eylül 2024, Cuma", 457 | "sure": "1 saat 5 dakika", 458 | "guzergah": "Eindhoven (EIN) →\nLondon (STN)", 459 | "direkt": "Direct" 460 | }, 461 | { 462 | "fiyat": "15.96 USD", 463 | "havayolu": "Ryanair", 464 | "zamanaralik": "9:45pm -\n11:00pm", 465 | "tarih": "6 Eylül 2024, Cuma", 466 | "sure": "1 saat 15 dakika", 467 | "guzergah": "Lisbon (LIS) →\nTangier (TNG)", 468 | "direkt": "Direct" 469 | }, 470 | { 471 | "fiyat": "15.96 USD", 472 | "havayolu": "Ryanair", 473 | "zamanaralik": "3:40pm -\n3:55pm", 474 | "tarih": "6 Eylül 2024, Cuma", 475 | "sure": "1 saat 15 dakika", 476 | "guzergah": "Luxembourg (LUX) →\nLondon (STN)", 477 | "direkt": "Direct" 478 | }, 479 | { 480 | "fiyat": "15.96 USD", 481 | "havayolu": "Ryanair", 482 | "zamanaralik": "4:55pm -\n5:10pm", 483 | "tarih": "9 Eylül 2024, Pazartesi", 484 | "sure": "1 saat 15 dakika", 485 | "guzergah": "Luxembourg (LUX) →\nLondon (STN)", 486 | "direkt": "Direct" 487 | }, 488 | { 489 | "fiyat": "15.96 USD", 490 | "havayolu": "Ryanair", 491 | "zamanaralik": "10:10pm -\n10:30pm", 492 | "tarih": "6 Eylül 2024, Cuma", 493 | "sure": "1 saat 20 dakika", 494 | "guzergah": "Cologne (CGN) →\nLondon (STN)", 495 | "direkt": "Direct" 496 | }, 497 | { 498 | "fiyat": "15.96 USD", 499 | "havayolu": "Ryanair", 500 | "zamanaralik": "7:15pm -\n7:40pm", 501 | "tarih": "7 Eylül 2024, Cumartesi", 502 | "sure": "1 saat 25 dakika", 503 | "guzergah": "Nantes (NTE) →\nLondon (STN)", 504 | "direkt": "Direct" 505 | }, 506 | { 507 | "fiyat": "15.96 USD", 508 | "havayolu": "Ryanair", 509 | "zamanaralik": "7:40pm -\n9:05pm", 510 | "tarih": "13 Ağustos 2024, Salı", 511 | "sure": "1 saat 25 dakika", 512 | "guzergah": "Faro (FAO) →\nMarrakesh (RAK)", 513 | "direkt": "Direct" 514 | }, 515 | { 516 | "fiyat": "15.96 USD", 517 | "havayolu": "Ryanair", 518 | "zamanaralik": "4:40pm -\n6:05pm", 519 | "tarih": "7 Eylül 2024, Cumartesi", 520 | "sure": "1 saat 25 dakika", 521 | "guzergah": "Rome (CIA) →\nTirana (TIA)", 522 | "direkt": "Direct" 523 | }, 524 | { 525 | "fiyat": "15.96 USD", 526 | "havayolu": "Ryanair", 527 | "zamanaralik": "11:35am -\n12:00pm", 528 | "tarih": "6 Eylül 2024, Cuma", 529 | "sure": "1 saat 25 dakika", 530 | "guzergah": "Tours (TUF) →\nLondon (STN)", 531 | "direkt": "Direct" 532 | }, 533 | { 534 | "fiyat": "15.96 USD", 535 | "havayolu": "Ryanair", 536 | "zamanaralik": "2:05pm -\n2:30pm", 537 | "tarih": "8 Eylül 2024, Pazar", 538 | "sure": "1 saat 25 dakika", 539 | "guzergah": "Seville (SVQ) →\nMarrakesh (RAK)", 540 | "direkt": "Direct" 541 | }, 542 | { 543 | "fiyat": "15.96 USD", 544 | "havayolu": "Ryanair", 545 | "zamanaralik": "9:35am -\n10:00am", 546 | "tarih": "7 Eylül 2024, Cumartesi", 547 | "sure": "1 saat 25 dakika", 548 | "guzergah": "Nantes (NTE) →\nLondon (STN)", 549 | "direkt": "Direct" 550 | }, 551 | { 552 | "fiyat": "15.96 USD", 553 | "havayolu": "Ryanair", 554 | "zamanaralik": "9:05pm -\n9:30pm", 555 | "tarih": "9 Eylül 2024, Pazartesi", 556 | "sure": "1 saat 25 dakika", 557 | "guzergah": "Málaga (AGP) →\nMarrakesh (RAK)", 558 | "direkt": "Direct" 559 | }, 560 | { 561 | "fiyat": "15.96 USD", 562 | "havayolu": "Ryanair", 563 | "zamanaralik": "11:50am -\n1:15pm", 564 | "tarih": "7 Eylül 2024, Cumartesi", 565 | "sure": "1 saat 25 dakika", 566 | "guzergah": "Rome (CIA) →\nTirana (TIA)", 567 | "direkt": "Direct" 568 | }, 569 | { 570 | "fiyat": "15.96 USD", 571 | "havayolu": "Ryanair", 572 | "zamanaralik": "1:50pm -\n2:15pm", 573 | "tarih": "8 Eylül 2024, Pazar", 574 | "sure": "1 saat 25 dakika", 575 | "guzergah": "Málaga (AGP) →\nMarrakesh (RAK)", 576 | "direkt": "Direct" 577 | }, 578 | { 579 | "fiyat": "15.96 USD", 580 | "havayolu": "Ryanair", 581 | "zamanaralik": "6:00pm -\n7:25pm", 582 | "tarih": "6 Eylül 2024, Cuma", 583 | "sure": "1 saat 25 dakika", 584 | "guzergah": "Rome (CIA) →\nTirana (TIA)", 585 | "direkt": "Direct" 586 | }, 587 | { 588 | "fiyat": "15.96 USD", 589 | "havayolu": "Ryanair", 590 | "zamanaralik": "11:40am -\n1:05pm", 591 | "tarih": "6 Eylül 2024, Cuma", 592 | "sure": "1 saat 25 dakika", 593 | "guzergah": "Lanzarote (ACE) →\nMarrakesh (RAK)", 594 | "direkt": "Direct" 595 | }, 596 | { 597 | "fiyat": "15.96 USD", 598 | "havayolu": "Ryanair", 599 | "zamanaralik": "9:05pm -\n9:30pm", 600 | "tarih": "19 Ağustos 2024, Pazartesi", 601 | "sure": "1 saat 25 dakika", 602 | "guzergah": "Málaga (AGP) →\nMarrakesh (RAK)", 603 | "direkt": "Direct" 604 | }, 605 | { 606 | "fiyat": "15.96 USD", 607 | "havayolu": "Ryanair", 608 | "zamanaralik": "8:05am -\n9:30am", 609 | "tarih": "9 Eylül 2024, Pazartesi", 610 | "sure": "1 saat 25 dakika", 611 | "guzergah": "Lanzarote (ACE) →\nMarrakesh (RAK)", 612 | "direkt": "Direct" 613 | }, 614 | { 615 | "fiyat": "15.96 USD", 616 | "havayolu": "Ryanair", 617 | "zamanaralik": "9:35pm -\n10:05pm", 618 | "tarih": "15 Ağustos 2024, Perşembe", 619 | "sure": "1 saat 30 dakika", 620 | "guzergah": "Bucharest (OTP) →\nTirana (TIA)", 621 | "direkt": "Direct" 622 | }, 623 | { 624 | "fiyat": "15.96 USD", 625 | "havayolu": "Ryanair", 626 | "zamanaralik": "7:00am -\n7:35am", 627 | "tarih": "14 Ağustos 2024, Çarşamba", 628 | "sure": "1 saat 35 dakika", 629 | "guzergah": "Billund (BLL) →\nLondon (STN)", 630 | "direkt": "Direct" 631 | }, 632 | { 633 | "fiyat": "16 USD", 634 | "havayolu": "Wizz Air Malta", 635 | "zamanaralik": "1:40pm -\n2:35pm", 636 | "tarih": "4 Eylül 2024, Çarşamba", 637 | "sure": "0 saat 55 dakika", 638 | "guzergah": "Brindisi (BDS) →\nTirana (TIA)", 639 | "direkt": "Direct" 640 | }, 641 | { 642 | "fiyat": "16 USD", 643 | "havayolu": "Wizz Air Malta", 644 | "zamanaralik": "5:05pm -\n6:25pm", 645 | "tarih": "7 Eylül 2024, Cumartesi", 646 | "sure": "1 saat 20 dakika", 647 | "guzergah": "Rimini (RMI) →\nTirana (TIA)", 648 | "direkt": "Direct" 649 | }, 650 | { 651 | "fiyat": "16 USD", 652 | "havayolu": "Wizz Air Malta", 653 | "zamanaralik": "3:35pm -\n5:05pm", 654 | "tarih": "18 Ağustos 2024, Pazar", 655 | "sure": "1 saat 30 dakika", 656 | "guzergah": "Venice (TSF) →\nTirana (TIA)", 657 | "direkt": "Direct" 658 | }, 659 | { 660 | "fiyat": "16 USD", 661 | "havayolu": "Wizz Air Malta", 662 | "zamanaralik": "6:45pm -\n8:15pm", 663 | "tarih": "18 Ağustos 2024, Pazar", 664 | "sure": "1 saat 30 dakika", 665 | "guzergah": "Venice (TSF) →\nTirana (TIA)", 666 | "direkt": "Direct" 667 | }, 668 | { 669 | "fiyat": "16.11 USD", 670 | "havayolu": "Ryanair", 671 | "zamanaralik": "9:15am -\n9:40am", 672 | "tarih": "15 Ağustos 2024, Perşembe", 673 | "sure": "1 saat 25 dakika", 674 | "guzergah": "Billund (BLL) →\nLondon (STN)", 675 | "direkt": "Direct" 676 | }, 677 | { 678 | "fiyat": "16.11 USD", 679 | "havayolu": "Ryanair", 680 | "zamanaralik": "7:30pm -\n8:05pm", 681 | "tarih": "13 Ağustos 2024, Salı", 682 | "sure": "1 saat 35 dakika", 683 | "guzergah": "Billund (BLL) →\nLondon (STN)", 684 | "direkt": "Direct" 685 | }, 686 | { 687 | "fiyat": "16.11 USD", 688 | "havayolu": "Ryanair", 689 | "zamanaralik": "1:05pm -\n1:40pm", 690 | "tarih": "13 Ağustos 2024, Salı", 691 | "sure": "1 saat 35 dakika", 692 | "guzergah": "Billund (BLL) →\nLondon (STN)", 693 | "direkt": "Direct" 694 | }, 695 | { 696 | "fiyat": "16.11 USD", 697 | "havayolu": "Ryanair", 698 | "zamanaralik": "9:45pm -\n10:20pm", 699 | "tarih": "13 Ağustos 2024, Salı", 700 | "sure": "1 saat 35 dakika", 701 | "guzergah": "Billund (BLL) →\nLondon (STN)", 702 | "direkt": "Direct" 703 | }, 704 | { 705 | "fiyat": "16.28 USD", 706 | "havayolu": "Ryanair", 707 | "zamanaralik": "3:05pm -\n3:00pm", 708 | "tarih": "6 Eylül 2024, Cuma", 709 | "sure": "0 saat 55 dakika", 710 | "guzergah": "Málaga (AGP) →\nNador (NDR)", 711 | "direkt": "Direct" 712 | }, 713 | { 714 | "fiyat": "17.36 USD", 715 | "havayolu": "Ryanair", 716 | "zamanaralik": "6:20pm -\n6:25pm", 717 | "tarih": "7 Eylül 2024, Cumartesi", 718 | "sure": "1 saat 5 dakika", 719 | "guzergah": "Eindhoven (EIN) →\nLondon (STN)", 720 | "direkt": "Direct" 721 | }, 722 | { 723 | "fiyat": "18 USD", 724 | "havayolu": "Ryanair", 725 | "zamanaralik": "6:20am -\n7:20am", 726 | "tarih": "19 Ağustos 2024, Pazartesi", 727 | "sure": "1 saat 0 dakika", 728 | "guzergah": "Bari (BRI) →\nTirana (TIA)", 729 | "direkt": "Direct" 730 | }, 731 | { 732 | "fiyat": "18 USD", 733 | "havayolu": "Ryanair", 734 | "zamanaralik": "9:20pm -\n9:25pm", 735 | "tarih": "7 Eylül 2024, Cumartesi", 736 | "sure": "1 saat 5 dakika", 737 | "guzergah": "Eindhoven (EIN) →\nLondon (STN)", 738 | "direkt": "Direct" 739 | }, 740 | { 741 | "fiyat": "18.64 USD", 742 | "havayolu": "Ryanair", 743 | "zamanaralik": "8:30pm -\n9:40pm", 744 | "tarih": "15 Ağustos 2024, Perşembe", 745 | "sure": "1 saat 10 dakika", 746 | "guzergah": "Zagreb (ZAG) →\nPodgorica (TGD)", 747 | "direkt": "Direct" 748 | }, 749 | { 750 | "fiyat": "18.70 USD", 751 | "havayolu": "Ryanair", 752 | "zamanaralik": "4:15pm -\n5:25pm", 753 | "tarih": "17 Ağustos 2024, Cumartesi", 754 | "sure": "1 saat 10 dakika", 755 | "guzergah": "Zagreb (ZAG) →\nPodgorica (TGD)", 756 | "direkt": "Direct" 757 | }, 758 | { 759 | "fiyat": "18.72 USD", 760 | "havayolu": "Ryanair", 761 | "zamanaralik": "3:05pm -\n3:00pm", 762 | "tarih": "16 Ağustos 2024, Cuma", 763 | "sure": "0 saat 55 dakika", 764 | "guzergah": "Málaga (AGP) →\nNador (NDR)", 765 | "direkt": "Direct" 766 | }, 767 | { 768 | "fiyat": "19.31 USD", 769 | "havayolu": "Ryanair", 770 | "zamanaralik": "1:00pm -\n2:10pm", 771 | "tarih": "16 Ağustos 2024, Cuma", 772 | "sure": "1 saat 10 dakika", 773 | "guzergah": "Zagreb (ZAG) →\nPodgorica (TGD)", 774 | "direkt": "Direct" 775 | }, 776 | { 777 | "fiyat": "41 USD", 778 | "havayolu": "Iberia Airlines", 779 | "zamanaralik": "9:00am -\n9:05am", 780 | "tarih": "18 Ağustos 2024, Pazar", 781 | "sure": "1 saat 5 dakika", 782 | "guzergah": "Málaga (AGP) →\nTangier (TNG)", 783 | "direkt": "Direct" 784 | }, 785 | { 786 | "fiyat": "41 USD", 787 | "havayolu": "Iberia Airlines", 788 | "zamanaralik": "12:25pm -\n12:30pm", 789 | "tarih": "5 Eylül 2024, Perşembe", 790 | "sure": "1 saat 5 dakika", 791 | "guzergah": "Málaga (AGP) →\nTangier (TNG)", 792 | "direkt": "Direct" 793 | }, 794 | { 795 | "fiyat": "42 USD", 796 | "havayolu": "Iberia Airlines", 797 | "zamanaralik": "9:00am -\n9:05am", 798 | "tarih": "25 Ağustos 2024, Pazar", 799 | "sure": "1 saat 5 dakika", 800 | "guzergah": "Málaga (AGP) →\nTangier (TNG)", 801 | "direkt": "Direct" 802 | }, 803 | { 804 | "fiyat": "42 USD", 805 | "havayolu": "Iberia Airlines", 806 | "zamanaralik": "8:40pm -\n8:45pm", 807 | "tarih": "31 Ağustos 2024, Cumartesi", 808 | "sure": "1 saat 5 dakika", 809 | "guzergah": "Málaga (AGP) →\nTangier (TNG)", 810 | "direkt": "Direct" 811 | }, 812 | { 813 | "fiyat": "42 USD", 814 | "havayolu": "Iberia Airlines", 815 | "zamanaralik": "12:30pm -\n12:35pm", 816 | "tarih": "29 Ağustos 2024, Perşembe", 817 | "sure": "1 saat 5 dakika", 818 | "guzergah": "Málaga (AGP) →\nTangier (TNG)", 819 | "direkt": "Direct" 820 | }, 821 | { 822 | "fiyat": "42 USD", 823 | "havayolu": "Iberia Airlines", 824 | "zamanaralik": "12:25pm -\n12:30pm", 825 | "tarih": "27 Ağustos 2024, Salı", 826 | "sure": "1 saat 5 dakika", 827 | "guzergah": "Málaga (AGP) →\nTangier (TNG)", 828 | "direkt": "Direct" 829 | }, 830 | { 831 | "fiyat": "42 USD", 832 | "havayolu": "Iberia Airlines", 833 | "zamanaralik": "12:30pm -\n12:35pm", 834 | "tarih": "26 Ağustos 2024, Pazartesi", 835 | "sure": "1 saat 5 dakika", 836 | "guzergah": "Málaga (AGP) →\nTangier (TNG)", 837 | "direkt": "Direct" 838 | }, 839 | { 840 | "fiyat": "43 USD", 841 | "havayolu": "British Airways", 842 | "zamanaralik": "9:20pm -\n9:45pm", 843 | "tarih": "8 Eylül 2024, Pazar", 844 | "sure": "1 saat 25 dakika", 845 | "guzergah": "Luxembourg (LUX) →\nLondon (LHR)", 846 | "direkt": "Direct" 847 | }, 848 | { 849 | "fiyat": "45 USD", 850 | "havayolu": "Iberia Airlines", 851 | "zamanaralik": "12:25pm -\n12:30pm", 852 | "tarih": "7 Eylül 2024, Cumartesi", 853 | "sure": "1 saat 5 dakika", 854 | "guzergah": "Málaga (AGP) →\nTangier (TNG)", 855 | "direkt": "Direct" 856 | }, 857 | { 858 | "fiyat": "46 USD", 859 | "havayolu": "Iberia Airlines", 860 | "zamanaralik": "9:00am -\n9:05am", 861 | "tarih": "1 Eylül 2024, Pazar", 862 | "sure": "1 saat 5 dakika", 863 | "guzergah": "Málaga (AGP) →\nTangier (TNG)", 864 | "direkt": "Direct" 865 | }, 866 | { 867 | "fiyat": "162 USD", 868 | "havayolu": "Vueling", 869 | "zamanaralik": "6:30pm -\n7:45pm", 870 | "tarih": "12 Ağustos 2024, Pazartesi", 871 | "sure": "2 saat 15 dakika", 872 | "guzergah": "Barcelona (BCN) →\nLondon (LHR)", 873 | "direkt": "Direct" 874 | }, 875 | { 876 | "fiyat": "176 USD", 877 | "havayolu": "Vueling", 878 | "zamanaralik": "7:50am -\n9:05am", 879 | "tarih": "12 Ağustos 2024, Pazartesi", 880 | "sure": "2 saat 15 dakika", 881 | "guzergah": "Barcelona (BCN) →\nLondon (LHR)", 882 | "direkt": "Direct" 883 | }, 884 | { 885 | "fiyat": "229 USD", 886 | "havayolu": "Air Algerie", 887 | "zamanaralik": "4:45pm -\n4:30pm", 888 | "tarih": "17 Ağustos 2024, Cumartesi", 889 | "sure": "0 saat 45 dakika", 890 | "guzergah": "Palma, Majorca (PMI) →\nAlgiers (ALG)", 891 | "direkt": "Direct" 892 | }, 893 | { 894 | "fiyat": "293 USD", 895 | "havayolu": "British Airways", 896 | "zamanaralik": "6:30pm -\n7:45pm", 897 | "tarih": "12 Ağustos 2024, Pazartesi", 898 | "sure": "2 saat 15 dakika", 899 | "guzergah": "Barcelona (BCN) →\nLondon (LHR)", 900 | "direkt": "Direct" 901 | } 902 | ] 903 | --------------------------------------------------------------------------------