写了一个五个一航班查询的app,希望能帮助大家买票【加入转机航班查询功能】

  • 10/18/2020:加入转机航班查询功能,目前支持美国出发在首尔/伦敦/欧洲申根区内的一次转机的回国航班查询
  • 10/07/2020:核酸检测点查询功能上线,点击左侧边栏的选择‘核酸检测点’即可使用
  • 09/14/2020: 加入线路图和行李直挂协议显示功能,点击每条航班结果的其他信息下的两个图标就可以使用相应功能
  • 09/10/2020: 用vue.js重新写了个新版的,比旧版好用不少,性能和界面都有质的提升,欢迎大家体验新版,遇到bug欢迎汇报
  • 08/19/2020:大幅更新北美出发搜索列表, 达美:周一DL287底特律DTW-上海浦东PVG+周二DL281西雅图SEA-上海浦东PVG;美联航:新增周五周日的UA587旧金山SFO-上海浦东-PVG;厦航增加一班周四的洛杉矶LAX-厦门XMN,南航增加一班周五的洛杉矶LAX-广州CAN
  • 08/17/2020:大幅更新北美区搜索列表,加入6条加拿大奖励航线(其中加航一条,东航南航海航川航厦航各一条,乘坐加航的航班由美国抵达加拿大符合CTP条件可以免签证转机)。由于奖励航班相比正常航班有更大的特殊性和不确定性,所以加了一列显示该航班为奖励航班与否,请谨慎购买,目前只加入了北美的,接下来还会加入其它地区的奖励航班。另外加入了墨西哥航空公司新复航航线墨西哥城-深圳航线,每周二,这条不是奖励航班,持有效美国签证可以免签入境墨西哥并转机

这周末做了个五个一政策下的机票查询的app,基本的思路就是selenium来爬取google flights上信息。为了避免搜到无息贷款票,所有的搜索请求均是按照五个一的排班表来指定航司和星期的。搜索到结果之后可以直接生成官网的直达购票链接(个别航司官网搜索的url被加密编码了,所以指向航司首页)。可以做到一键查询某个区域(北美or欧洲)内的某个日期范围内的所有符合现有五个一排版的有余票航班。
虽然是基于google flights搜索的,但是亲测国内航司的余票完全没有问题,基本上查到的结果到官网都是有票可以直接买的。境外航司就更稳了~

app地址:点击这里
欢迎大家订阅邮件通知!

目前区域只开发了北美和欧洲和日韩,其他的澳洲和中东/非洲等以后有空了开发一下。如果有任何意见或者建议可以在下方留言告诉我~谢谢大家的支持!
如果觉得好用也可以考虑打赏下哦~
最后祝愿大家都可以顺利买到回国机票~~

更新:大家期待的日韩地区搜索上线了!为了方便当地华人搜索,货币币种的选择也增加了

更新:有用户发现有个别境外航司在一天内会卖好几班回国航班的情况,但其中只有一班是五个一的排班(比如全日空周日不但卖会飞的NH919,也同时卖飞不成的NH921和NH959)。只有个别飞亚洲短途航线的境外航司才会出现这种问题,已经把NH921和NH959从搜索结果展示中强制删除了,以防误导大家买票。如果还有发现其他航线有类似情况的欢迎在下方留言告知

更新:

  1. 加入一共⑨条最新复航线路:欧洲:法航增飞第二班巴黎-上海周一,荷兰航空复航阿姆斯特丹-上海周二,汉莎航空增开第二条法兰克福-上海周一,瑞士航空复航苏黎世-上海周日,海南航空奖励航班布鲁塞尔-北京周一,意大利NEOS航空复航米兰-南京周四;日韩:日本航空新增第二班每周二东京-大连,韩国真航空新增济州-西安(但这个官网完全搜不到票);北美:海航新增奖励航班多伦多-北京周日
  2. 由于欧洲大幅增加航线,所以为了确保每次的搜索效率,将欧洲分为了两个区,申根三大枢纽机场(巴黎/阿姆斯特丹/法兰克福)为一区,其他机场为二区
  3. 熬了个夜把澳洲/中东/东南亚/非洲的检索功能搞上线了!目前澳洲的票非常充足,八月都几乎周周有票。由于中东/非洲/南亚航线都较少,为了提高搜索效率,就跟澳洲放在一起检索了。由于东南亚航线实在太多,为了提高检索效率,东南亚分了一区二区,一区包括:曼谷/吉隆坡/金边/新加坡四个机场始发的航线(其中金边和吉隆坡都是可以接受北美乘客转机的),二区是东南亚其他机场,注意,孟加拉国属于南亚。至此,应该可以说包含了所有地区的五个一航线了,之后还会定时更新
    更新7:加入了中国大陆-海外方向的航线搜索
16 个赞

source code在这里:

3 个赞

太强了!占个板凳

1 个赞

随便试了试搜了一个月的,出error了:joy: " Connection error. Connection timed out."

是不是要一天一天的SEARCH?

厉害了!不过我刚刚试了 9/1-9/7 和 9/8-9/14,报了两种不同的错,后者是物理粉说的那个。估计还是 AWS 不稳定。我再试试

我擦,我debug下。。。不过我记得我写了禁止大于一周的查询的 :joy: :joy:怕被google封

有可能… 感觉他现在的设计 把所有的负担都用他自己的服务器承担的话 好像人稍微一多就崩了… 不知道有没有办法让用户自己的电脑承载负担 @reader

我设定的是最多可以处理一周的请求

1 个赞

第一个错误是这样的:
AttributeError: ‘NoneType’ object has no attribute ‘reset_index’

Traceback:

File "/home/ubuntu/miniconda/lib/python3.7/site-packages/streamlit/ScriptRunner.py", line 322, in _run_script
    exec(code, module.__dict__)File "/home/ubuntu/flights_checker_private/flights.py", line 328, in <module>
    df_record.reset_index(drop=True, inplace=True)

我擦。。。这是个bug,我搞下。。。

1 个赞

我发现了。。。应该是用的人一多就垮了,selenium太占系统资源了。或者可以下载源代码在自己电脑上搞

是的 剛剛還很順 現在FAILED to open page

是的 刚发帖的时候有收到超过1周的限制message 但现在还没刷出机票来已经Load不出来了 :joy:

我先下线再优化一下 :joy: :joy: :joy: 这有点恐怖。。。

我又上线了一下,刚才测试还可以,再试试?但我觉得人一多大概率又要垮 :joy: :sweat_smile: :sweat_smile:

Running了差不多3分钟还没有搜索结果 心痛时刻

刚才服务器又瘫了。。。我重启了下

更新:我把服务器停机了。。。刚才免费CPU余额直接就爆了,太吓人了 :sweat_smile: :sweat_smile: :sweat_smile:
打算再找个性能更好一些的VPS试试。。。免费AWS的小身板招不住啊

既然都做成app了为什么不直接本地搜索?完全不理解为什么要上服务器,除非要做服务器端的搜索结果缓存……