编码我的工作旅行平衡方式

我叫Omer,我是一名全职开发人员,喜欢自发出国。 这是一个关于我最终如何离开办公室去赶上最后一班飞往香港的299美元航班的故事。

我的工作和其他任何一天一样开始。 我喝了咖啡,对同事打招呼,然后插入编程通道。 突然,我的手机上收到了很多通知。 特拉维夫到香港的票价为299美元。 接下来我知道,我要坐飞机到香港XX小时。 我如何在工作日中途飞往香港?

一切都在几周前开始。 我正在阅读寻找廉价航班的方法。 我试图找出最佳搜索时间。 搜寻和骇客寻找这些廉价航班的最佳方法。 一些文章说,提前找到航班可以使其更便宜,而另一些文章则说,最后一分钟是最好的。 其他人建议我使用隐身模式或vpn访问飞行网站。 这样一来,我不会在每次搜索时看到价格的变化。 此外,我还是一些秘密飞行电报小组和Facebook小组的成员。 在那里,我收到有关超廉价航班的通知。 我还获得了一个可以为我搜索航班的机器人,并在发现价格下跌时通知我。

但是,作为我的野心勃勃和古玩软件开发人员。 我想,我可能可以更好地构建自己的东西。 因此,我制造了一个虚拟刮板。 我以前已经建造过这类刮板。 就在几个月前,我建造了一个免费的家具取景器来布置我的新公寓。 它刮掉了著名的免费社交网站Facebook群组,每次发现新帖子时,都会通过电报发送给我。 这样,我始终是第一个了解此事的人。 过了一会儿,马克·祖格伯格(Mark Zucherberg)抓住了我在做什么,却不在乎。 我喜欢Facebook,所以我不想被封锁-遗憾的是不得不关闭我的剪贴器。

现在,有了一些经验,我开始挖掘一些网站并检查它们是否可抓取。 我检查了Skyscanner,Kayak,monto,Kiwi和Expedia等热门网站的一些特定要求:

  1. 他们有易于访问的api吗?
  2. 任何舒适的html字段或系统的数据呈现方式?
  3. 任何简单的代码都可以处理?

不幸的是,我没有找到一个。 显然,所有“良好”站点都具有相当好的刮板保护。 他们没有使用API​​。 遗憾的是,那里的按钮无法通过程序进行处理。 因此,一段时间后,我开始失去希望。 但是,在我放弃之前,我不得不再检查一个站点-可以说-不那么先进。 我认为那可能有一个api。 你猜怎么着。 我找到了!

我找到了一个易于访问的API,该API可以为我提供所有当前的航班(30-35个航班的列表)和每个呼叫。 它还给了我有关价格的信息。 每个航班都有一个ID,所以我想知道价格是否有下降。 该数据值得机器人保护。 所以,我写了一个……

我首先想到的是如何获得有关良好飞行的通知,而又不会因糟糕的飞行而发垃圾邮件。 我的解决方案是将数据刮一会儿,然后将数据放入sqlite表中以使其可视化。 我立即观察到,发现航班当天价格出现了一些严重下降。 假设飞往曼谷的机票起价为700美元。 有时价格会降到420美元。 我在其他任何国家都看到过这种情况。

我标记了所有价格下降,发现价格下降是系统发生的。 我定义了该漫游器,通知它看到价格比原始价格下跌200美元以上时通知我。 我还将其设置为通知每次低于100美元的航班,从而消除了通常低于100美元的航班(例如飞往赛普拉斯或米兰的航班)。 因此,在每个星期的3周中,我都会收到$ 299的香港相同通知。 从600美元开始的同一趟航班,连续3个星期天跌至300美元。

我已经成功地破解了系统。 监视此模式后,我开始准备我的东西。 为了以299美元的价格获得航班,我需要准备在起飞前10小时才获得航班。

幸运的是,我在一家非常灵活的公司cnvrg.io工作。 我告诉老板,如果价格再次下跌,我会飞。 我的老板不仅接受了,甚至还让我在香港工作了整整一周的时间,以尽量减少休息日。

所以,我星期天下午在这里办公室。 我急切地等待通知,但是不想让我的希望太多。 我家里有行李打包,老板暂时没事。 到上午11点,我看到价格开始下降。 首先是390美元。 到1:00时,它已从329美元跌至350美元。 然后,到2:00 pm,价格已达到299美元!!! 收到通知五分钟后,我去了老板办公室,向她展示了航班。 就这样,我得到了确认,收拾好东西,出发了。 下周我在香港工作,周末有一些很棒的旅行时间。

现在,我知道对于典型的软件开发人员来说,在工作中拥有如此大的自由度和灵活性是多么不可能。 为此,我非常感谢cnvrg.io。 他们与我分享的一件事是对技术和发展的热情。 他们对我的看法之一就是我对软件开发的热情。 这是推动我的工作的动力,使我能够入侵系统,让我做自己想做的事情。 一家真正珍视对工作的热情并给予回报的公司确实令人难以置信。 每天上班,解决问题使我感到很兴奋。