Мне нужно получить некоторые данные, но я совершенно ошарашен, попробовав несколько вещей.
Я хочу получить доступ к авиакомпаниям и пунктам назначения на вики-странице Albuquerque_International_Sunport - учтите, я буду просматривать предварительно заполненный список аэропортов с этими данными.
Существует несколько «типов» авиакомпаний: пассажирские, грузовые, иногда есть другие (под?) Разделы;в других случаях их нет:
Статьи для нескольких аэропортов будут доступны автоматически, включая некоторые менее известные аэропорты.Это означает, что мне нужно:
- Проверить, существует ли раздел «Авиакомпании и пункты назначения»
- Взять все данные внутри любой таблицы
- Очистить ее;в противном случае ничего не делать
Я пытался использовать ruby wikipedia-client gem , однако метод .raw_data
даже не возвращает данные раздела:
Затем я перешел к API Википедии: если я не ошибаюсь, но он не возвращает имена разделов!Это кажется неправильным, но я не смог заставить его работать.
Так что я полагаю, это оставляет Нокогири.Я могу нормально захватывать и анализировать страницы, но:
Как бы я мог обнаружить наличие раздела «Авиакомпании и пункты назначения», получив все данные таблицы ДО конца раздела?У меня есть подозрение, что для этого мне нужен какой-то хитрый Xpath.
Кажется, что это единственное жизнеспособное решение.
Любые мысли приветствуются.Начисление вознаграждения за этот вопрос, когда я смогу.
Редактировать: Возможно, лучше просто каким-то образом собрать список всех авиакомпаний в мире и ударить их по HTML?Похоже, это может быть вычислительно дорого.