apis icon indicating copy to clipboard operation
apis copied to clipboard

The flights data is messed up

Open maxrahder opened this issue 7 years ago • 3 comments

Thanks for all the great data feeds!

But the flights data is all mixed up. It looks like you may be extracting your data from an HTML page, which has since been modified and no longer matches your expectations.

Steps to reproduce

Paste this into a browser URL: http://apis.is/flight?language=en&type=departures

You'll see data like this.

{
      "date": "08:40",
      "flightNumber": "<span class=\"cutoff\" title=\"Copenhagen\">Copenhagen</span>",
      "airline": "FI208",
      "to": "<span class=\"cutoff\" title=\"Icelandair\">Icelandair</span>",
      "plannedArrival": "Departed 08:29",
      "realArrival": "\n",
      "status": "\n\t\t\t\t\t\t\t\t"
},{
      "date": "21:10",
      "flightNumber": "<span class=\"cutoff\" title=\"New York JFK\">New York JFK</span>",
      "airline": "WW109",
      "to": "<span class=\"cutoff\" title=\"WOW air\">WOW air</span>",
      "plannedArrival": "",
      "realArrival": "\n<a href=\"#\" data-flight=\"2018/05/16 21:10 GMT+00:00|WW109\" class=\"bt-messenger\" aria-label=\"Notifications to Facebook Messenger\"><i class=\"icon icon-messenger\"></i></a>\n<a href=\"#\" data-flight=\"2018/05/16 21:10 GMT+00:00|WW109\" class=\"bt-twitter\" aria-label=\"Notifications to Twitter\"><i class=\"icon icon-twitter\"></i></a>\n<a href=\"#\" class=\"email-notifications\" aria-label=\"Notifictions by e-mail\"><i class=\"icon icon-mail\"></i></a>\n<a href=\"#\" class=\"pin-flight\" aria-label=\"Pin\"><i class=\"icon icon-pin hidden-sm hidden-md hidden-lg\"></i></a>\n",
      "status": "\n\t\t\t\t\t\t\t\t\t<a href=\"#\" class=\"btn btn-rounded btn-blue btn-sm hidden-sm hidden-md pin-flight\"><i class=\"icon icon-planeup\"></i> Pin</a>\n\t\t\t\t\t\t\t\t\t<a href=\"#\" class=\"visible-sm visible-md pin-flight\" aria-label=\"Pin\"><i class=\"icon icon-pin\"></i></a>\n\t\t\t\t\t\t\t\t"
}

Just about every field is messed up:

  • date is a time (in local time I assume), rather than a date. This isn't so bad.
  • flightNumber contains HTML, which is bad, and it holds the destination
  • airline appears to be the flight number
  • to contains HTML and holds the airline
  • plannedArrival should probably be named planned, and holds a string description rather than just a date
  • realArrival should probably be named actual arrival, and it sometimes just contains a bunch of HTML
  • status is usually empty, but sometimes just contains a bunch of HTML

maxrahder avatar May 16 '18 17:05 maxrahder

Thank you @maxrahder, this is a great reminder. There is already a PR to fix this: #443.

MiniGod avatar May 16 '18 19:05 MiniGod

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Jul 15 '18 20:07 stale[bot]

https://github.com/apis-is/apis/pull/474

ycaK avatar Nov 09 '18 11:11 ycaK