Python第六课-火车票查询工具(课件)

2024-02-28
| 27页
| 174人阅读
| 99人下载
普通

内容正文:

少儿编程课 1 火车票查询工具 本节课我们来编写一个爬虫案例,制作12306火车票查询工具 3 现在我们开始制作这个查询工具,首先获取接口 1 打开12306,在余票查询页面,点击F12,点击查询按钮 在Network中可以看到本次查询时所有的网络请求接口 1 2 接口参数与网页填写数据对应关系: 这里第二个接口就是火车票数据查询接口,如下: https://kyfw.12306.cn/otn/leftTicket/query ?leftTicketDTO.train_date=2017‐09‐25& leftTicketDTO.from_station=ZZF& leftTicketDTO.to_station=KFF& purpose_codes=ADULT 其中: 1、leftTicketDTO.train_date表示查询日期 2、leftTicketDTO.from_station:表示出发地编码 3、leftTicketDTO.to_station:表示目的地编码 4、purpose_codes:表示票的类型,ADULT表示成人,如果是学生,则值为0X00 访问这个接口地址,获取本次查询的全部JSON数据 1 返回的数据如下: 分析数据 7 接下来,我们对得到的数据进行分析,先规整数据 把数据中的result部分(车票部分)存入文本,然后导入到excel(用|分割即可),删除没用的列,空列等,最终效果如下: 1 然后将数据和12306上的查询数据作对比 12306查询数据如下: 1 2 将每列的含义分析出来 Python获取数据 10 分析完数据之后,剩下的工作就是获取数据然后展示了,首先获取数据 定义获接口数据的方法,先拼接完整路径 1 访问接口地址 2 def get_json(url, train_date, from_station, to_station,purpose_codes='ADULT'): url = url + '?leftTicketDTO.train_date=' \ + train_date + '&leftTicketDTO.from_station=' \ + from_station + '&leftTicketDTO.to_station='\ + to_station + '&purpose_codes=' + purpose_codes req = request.Request(url) 分析完数据之后,剩下的工作就是获取数据然后展示了,首先获取数据 向请求头添加User—Agent信息,模拟浏览器登陆 1 2 向请求头添加Cookie信息 req.add_header('User‐Agent', 'Mozilla/5.0 (Windows NT 10.0; WOW64)' 'AppleWebKit/537.36 (KHTML, like Gecko)' ' Chrome/56.0.2924.87Safari/537.36') req.add_header('Cookie', 'BLPROV=;  JSESSIONID=17F82C085BEAE9774B1D7D18363207AA;  ' 'route=6f50b51faa11b987e576cdb301e545c4;  ' 'BIGipServerotn=1473839370.50210.0000; fp_ver=4.5.1;  ' 'RAIL_EXPIRATION=1505522206734; RAIL_DEVICEID=ngfa0xXXc43AwRde' 'PQiYKNAXLxgF_0NC4u29FDPVr73XbEdk2jAZXdZmGwbMs5tmX28EVf3pqQWywtJRAN ' 'yU‐F1F4o1jEN2J8gI5mQVerkJAel9E5ACri_F7hggwk7zmV0IkRNjiH5CA0RFxBPLTsBkmBvAJ9_;' ' current_captcha_type=C;  _jc_save_fromStation=%u90D1%u5DDE%2CZZF;'

资源预览图

Python第六课-火车票查询工具(课件)
1
Python第六课-火车票查询工具(课件)
2
Python第六课-火车票查询工具(课件)
3
Python第六课-火车票查询工具(课件)
4
Python第六课-火车票查询工具(课件)
5
Python第六课-火车票查询工具(课件)
6
所属专辑
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。