【发布时间】:2018-05-17 05:10:43
【问题描述】:
我需要获取一些数据,但在尝试了一些事情后我完全被难住了。
我想通过 Albuquerque_International_Sunport's wiki page 访问航空公司和目的地 - 请记住,我将使用这些数据浏览预先填充的机场列表。
航空公司有多种“类型”:客运、货运,有时还有其他(子?)部分;其他时候没有:
将自动访问多个机场的文章 - 包括一些鲜为人知的机场。这意味着我需要:
- 检查“航空公司和目的地”部分是否存在
- 获取任何表中的所有数据
- 刮掉它;否则什么都不做
我尝试过使用 ruby wikipedia-client gem 但是,.raw_data 方法甚至没有返回部分数据:
接下来,我访问了 Wikipedia 的 API:除非我弄错了,否则它不会返回“部分”名称!这似乎不对,但我无法让它工作。
所以我想这会留下 Nokogiri。我可以很好地抓取和解析页面,但是:
我将如何检测“航空公司和目的地”部分的存在,在部分结束之前获取所有表数据?我怀疑我需要一些棘手的 Xpath。
似乎是唯一可行的解决方案。
欢迎任何想法。尽可能在这个问题上悬赏。
编辑:或许以某种方式简单地获取世界上所有航空公司的列表并将它们与 HTML 相匹配会更好?看起来它的计算成本可能很高。
【问题讨论】:
标签: ruby web-scraping nokogiri wikipedia wikipedia-api