航班信息数据获取(传入起始点、终点以及日期)
北航软院大三小学期太离谱啦!
顶不住啦!
进入正题
获取航班信息
声明: 该方法完全免费,但仅供非商业用途!调用的接口官网在此
代码:
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ㄒ)/~~)
航班信息数据获取(传入起始点、终点以及日期)相关推荐
- java车次信息_java实现根据起点终点和日期查询去哪儿网的火车车次和火车站点信息...
本文章为原创文章,转载请注明,欢迎评论和改正. 一,分析 之前所用的直接通过HTML中的元素值来爬取一些网页上的数据,但是一些比较敏感的数据,很多正规网站都是通过json数据存储,这些数据通过HTML ...
- python爬虫:爬取全国航班信息
目标网站 携程:https://flights.ctrip.com/domestic/schedule/ 思路分析 获取到所有的地方航班 打开网址,可以看到如下内容: 这一步目的是获取到这里显示的所有 ...
- 爬虫 — 爬取携程的航班信息
功能介绍:输入起点.终点.时间就能得到携程上的航班信息 代码: from prettytable import PrettyTable import requests import jsondef x ...
- 航班信息查询和检索系统
课程设计 哈夫曼编码/译码器 教室数据管理 电网建设造价计算 计算机竞赛管理系统 文章目录 一.设计任务及要求 二.设计导向 1. 设计目的 2. 总体设计方案 3. 详细设计 4. 系统测试与结果分 ...
- 课程设计:飞机航班信息查询系统
题目名称 一.实验内容 [问题描述] 对飞机航班信息进行排序和查询.航班信息包括:航班号,起点,终点,航班日期(周一到周日,分别用1,2...7数字表示),起飞时间,到达时间,机型,票价. 以线性表作 ...
- 航班信息的查询与检索Java,航班信息查询与检索
第 2 章 设计要求与分析 2.1 设计要求 该设计要求对飞机航班信息进行排序和查找.可按航班的航班号.起点站.到达站.起 飞时间以及到达时间等信息进行查询. ...... 课程设计报告课程设计名称: ...
- 携程航班信息爬取(python)---第一次写博客,不好请别见外!
1.航班信息接口 api="https://flights.ctrip.com/itinerary/api/12808/products",这个接口中包含了所要查询的航班信息. * ...
- 民航票务管理系统-C语言--录入,查询,订票,退票,修改航班信息以及主菜单和子菜单。
概述: 我的课程设计题目为民航票务管理系统,其目的是为了便利人们购买飞机票的过程为广大人民群众提供便利,本系统主要为订票者提供订票服务以及相关的信息服务.同时增加了我对于程序设计的理解以及对于 C 语 ...
- android地图轨迹跟踪_在这张地图中,你可以追踪全世界的航班信息
近期精彩回顾 请戳下文↓↓↓ ▶惊!世界"犯罪"地图刚刚曝光!澳洲治安排第二!中国排名最出人意料! ▶3分钟查到你90%的信息:我们都在"裸奔"! ▶微信转账诈 ...
最新文章
- gvim 实现自动全文排版
- Vue(小案例_vue+axios仿手机app)_实现用户评论
- android 自定义view 动画效果,Android自定义view----音乐播放动画
- 12.PDE与PTE
- Java与汽车_Java NIO:IO与NIO的区别
- jquery ajax POST/GET 请求至 ASP.NET WebAPI
- macOS下查看Java/JDK的安装目录_查看Java/JDK的版本信息_配置环境变量JAVA_HOME
- Mysql5.0中文乱码解决方案
- Bootstrap 禁用导航链接
- labelImg重新开启工具箱(栏)
- 腾讯数据库专家多年运维经验凝聚成简,总结这份595页工作笔记
- 百度云文章的链接地址抓取工具
- 弦论 —— 宇宙的琴弦
- View 5应用之二:瘦客户机上的虚拟桌面
- react详细视频 https://www.bilibili.com/video/BV1wy4y1D7JT?p=76
- 计算机系挣钱的职业,十大挣钱职业之IT行业
- 智慧消防之物联网消防的意义
- 2908. Annoying painting tool
- cocoapods was not able to update the 'master' repo.if it is a unexpected issue and persists you can
- 数据分析师三个等级_数据分析课|这三个等级的数据分析师报考条件,一定是你需要的...