北航软院大三小学期太离谱啦!
顶不住啦

进入正题

获取航班信息

声明: 该方法完全免费,但仅供非商业用途!调用的接口官网在此

代码:

import requests
from lxml import htmletree = html.etreedef get_xml(url, start_city, last_city, date):resp = requests.get(url, params={"startCity":start_city, "lastCity":last_city, "theDate":date, "userID":""})resp.encoding = "utf-8"return resp.contentdef parse_xml(xml_text):xml = etree.XML(xml_text)airlines = xml.xpath("//AirlinesTime")result = []for airline in airlines:item = {}company = airline.xpath("./Company/text()")[0]item['company'] = companyairline_code = airline.xpath("./AirlineCode/text()")[0]item['airline_code'] = airline_codestart_drome = airline.xpath("./StartDrome/text()")[0]item['start_drome'] = start_dromearrive_drome = airline.xpath("./ArriveDrome/text()")[0]item['arrive_drome'] = arrive_dromestart_time = airline.xpath("./StartTime/text()")[0]item['start_time'] = start_timearrive_time = airline.xpath("./ArriveTime/text()")[0]item['arrive_time'] = arrive_timemode = airline.xpath("./Mode/text()")[0]item['mode'] = modeairline_stop = airline.xpath("./AirlineStop/text()")[0]item['airline_stop'] = airline_stopweek = airline.xpath("./Week/text()")[0]item['week'] = weekresult.append(item)return resultif __name__ == '__main__':url = "http://www.webxml.com.cn/webservices/DomesticAirline.asmx/getDomesticAirlinesTime"start_city = "北京"last_city = "上海"date = "2021-07-11"xml_text = get_xml(url, start_city, last_city, date)print(parse_xml(xml_text))

运行效果:
(ps:我将结果复制到JsonView中格式化展示了)

字段解释:

  • company:航空公司
  • airline_code:航班号
  • start_drome:起飞机场
  • arrive_drome:降落机场
  • start_time:起飞时间
  • arrive_time:到达时间
  • mode:机型
  • airline_stop:经停站数量(似乎查到的都是0)
  • week:一周里起飞的星期数,如“246日”表示周二、周四、周六、周日可以起飞

ps:

  • 该官网提供了许多服务,详情可以参考这篇博客
  • lxml库是一个专门用于解析html、xml等标签语言的第三方库,十分好用,但有一定的学习成本,可以到这篇博客快速上手
  • 该接口返回的是xml文本,而不是常见的json格式,因此我对其的操作与爬虫的操作类似。(爬虫就是获取html文本并解析嘛)如下:

博主qq:621066455,如遇到问题可以加好友交流,或者直接在评论区交流(之前一篇博客过了四个月才看评论,感觉好对不起感谢、支持我的朋友们/(ㄒoㄒ)/~~)

航班信息数据获取(传入起始点、终点以及日期)相关推荐

  1. java车次信息_java实现根据起点终点和日期查询去哪儿网的火车车次和火车站点信息...

    本文章为原创文章,转载请注明,欢迎评论和改正. 一,分析 之前所用的直接通过HTML中的元素值来爬取一些网页上的数据,但是一些比较敏感的数据,很多正规网站都是通过json数据存储,这些数据通过HTML ...

  2. python爬虫:爬取全国航班信息

    目标网站 携程:https://flights.ctrip.com/domestic/schedule/ 思路分析 获取到所有的地方航班 打开网址,可以看到如下内容: 这一步目的是获取到这里显示的所有 ...

  3. 爬虫 — 爬取携程的航班信息

    功能介绍:输入起点.终点.时间就能得到携程上的航班信息 代码: from prettytable import PrettyTable import requests import jsondef x ...

  4. 航班信息查询和检索系统

    课程设计 哈夫曼编码/译码器 教室数据管理 电网建设造价计算 计算机竞赛管理系统 文章目录 一.设计任务及要求 二.设计导向 1. 设计目的 2. 总体设计方案 3. 详细设计 4. 系统测试与结果分 ...

  5. 课程设计:飞机航班信息查询系统

    题目名称 一.实验内容 [问题描述] 对飞机航班信息进行排序和查询.航班信息包括:航班号,起点,终点,航班日期(周一到周日,分别用1,2...7数字表示),起飞时间,到达时间,机型,票价. 以线性表作 ...

  6. 航班信息的查询与检索Java,航班信息查询与检索

    第 2 章 设计要求与分析 2.1 设计要求 该设计要求对飞机航班信息进行排序和查找.可按航班的航班号.起点站.到达站.起 飞时间以及到达时间等信息进行查询. ...... 课程设计报告课程设计名称: ...

  7. 携程航班信息爬取(python)---第一次写博客,不好请别见外!

    1.航班信息接口 api="https://flights.ctrip.com/itinerary/api/12808/products",这个接口中包含了所要查询的航班信息. * ...

  8. 民航票务管理系统-C语言--录入,查询,订票,退票,修改航班信息以及主菜单和子菜单。

    概述: 我的课程设计题目为民航票务管理系统,其目的是为了便利人们购买飞机票的过程为广大人民群众提供便利,本系统主要为订票者提供订票服务以及相关的信息服务.同时增加了我对于程序设计的理解以及对于 C 语 ...

  9. android地图轨迹跟踪_在这张地图中,你可以追踪全世界的航班信息

    近期精彩回顾 请戳下文↓↓↓ ▶惊!世界"犯罪"地图刚刚曝光!澳洲治安排第二!中国排名最出人意料! ▶3分钟查到你90%的信息:我们都在"裸奔"! ▶微信转账诈 ...

最新文章

  1. gvim 实现自动全文排版
  2. Vue(小案例_vue+axios仿手机app)_实现用户评论
  3. android 自定义view 动画效果,Android自定义view----音乐播放动画
  4. 12.PDE与PTE
  5. Java与汽车_Java NIO:IO与NIO的区别
  6. jquery ajax POST/GET 请求至 ASP.NET WebAPI
  7. macOS下查看Java/JDK的安装目录_查看Java/JDK的版本信息_配置环境变量JAVA_HOME
  8. Mysql5.0中文乱码解决方案
  9. Bootstrap 禁用导航链接
  10. labelImg重新开启工具箱(栏)
  11. 腾讯数据库专家多年运维经验凝聚成简,总结这份595页工作笔记
  12. 百度云文章的链接地址抓取工具
  13. 弦论 —— 宇宙的琴弦
  14. View 5应用之二:瘦客户机上的虚拟桌面
  15. react详细视频 https://www.bilibili.com/video/BV1wy4y1D7JT?p=76
  16. 计算机系挣钱的职业,十大挣钱职业之IT行业
  17. 智慧消防之物联网消防的意义
  18. 2908. Annoying painting tool
  19. cocoapods was not able to update the 'master' repo.if it is a unexpected issue and persists you can
  20. 数据分析师三个等级_数据分析课|这三个等级的数据分析师报考条件,一定是你需要的...

热门文章

  1. 金融危机可能即将到来
  2. 新闻维护+主题维护(完整版)
  3. 小程序:页面跳转的四种基础方法
  4. Java中DAO层、Service层和Controller层的区别
  5. 20个成功项目管理经验
  6. Ubuntu驱动安装闭坑
  7. Docker的体系架构3
  8. 【问题】【AutoCAD2010】打开的dwg文件中的文字部分显示“问号???”
  9. VScode/PyCharm+Anaconda+pyQt5的Python工程协同开发(环境搭建及项目配置)
  10. Xmanager Power Suite 6 安装、激活