在旅游旺季,抢票成了很多人头疼的问题。如果能够提前获取到车票的价格信息,就能够更好地做出决策,选择更划算的出行方式。本文将介绍如何使用PowerQuery来抓取火车票的价格信息,方便大家更好地进行出行规划。
一、PowerQuery简介
PowerQuery是微软公司推出的一款数据获取和转换工具,可以帮助用户从多种数据源中导入数据,并将其转换为可用于分析的形式。PowerQuery可以与Excel、Power BI等工具配合使用,也可以单独作为一个工具使用。
二、准备工作
在开始操作之前,需要先安装PowerQuery插件。方法如下:
1.打开Excel
2.依次点击“文件”-“选项”-“加载项”
3.在右侧窗口中找到“管理:COM 加载项”,点击“跳转”
4.勾选“Microsoft Power Query for Excel”,点击“确定”
三、获取车次信息
首先需要获取车次信息,包括列车编号、列车类型、始发站、终点站等。方法如下:
1.打开12306官网,在查询栏输入出发站和到达站以及出发时间和座位类型等相关信息,点击查询按钮。
2.在查询结果页面中,按下F12键打开浏览器的开发者工具。
3.切换到“网络”选项卡,刷新页面。
4.在请求列表中找到“leftTicket/query”的请求,右键点击该请求并选择“复制”-“复制链接地址”。
5.打开Excel,点击“数据”-“获取数据”-“从Web”。
6.在弹出的对话框中粘贴复制的链接地址,点击“确定”。
7.在下一步中选择“表格1”,点击“确定”。
8.在导入数据时选择需要的列,包括车次、始发站、终点站、出发时间、到达时间等。
四、获取票价信息
接下来需要获取票价信息。方法如下:
1.打开Excel,点击“数据”-“获取数据”-“从Web”。
2.在弹出的对话框中输入如下链接地址,并点击“确定”。

列车编号&from_station_no=始发站编号&to_station_no=终点站编号&seat_types=座位类型&train_date=出发日期
其中,“列车编号”、“始发站编号”、“终点站编号”、“座位类型”和“出发日期”的值需要替换为实际的值。这些值可以在第三步中获取到。
3.在下一步中选择“表格1”,点击“确定”。
4.在导入数据时选择需要的列,包括座位类型、票价等。
五、数据处理
获取到数据之后,需要进行一些处理,以便更好地进行分析。方法如下:
1.在列表中选中“车次”列和“始发站”列,然后点击“开始”-“合并列”。
2.在弹出的对话框中选择“-”作为分隔符,点击“确定”。
3.在列表中选中“合并列”,然后点击“开始”-“拆分列”。
4.在弹出的对话框中选择“空格”作为分隔符,点击“确定”。
5.右键点击“出发时间”列和“到达时间”列,选择“更改类型”,将类型改为时间类型。
6.在列表中选中所有列,然后点击“开始”-“删除行”。
六、数据可视化
在处理完数据之后,可以使用Excel或Power BI等工具进行数据可视化。这样可以更好地理解数据,并做出更好的决策。
七、注意事项
在获取数据时需要注意以下几点:
1. 12306官网有反爬虫机制,如果频繁访问可能会被封IP。
2.由于票价信息是动态生成的,因此需要在查询车次信息之后再获取票价信息。
八、案例分析
以下是一个案例分析,以帮助读者更好地理解如何使用PowerQuery抓取火车票票价。
小明在五一假期想去旅游,他想知道从北京到上海的火车票价格。他首先在12306官网上查询了车次信息,然后使用PowerQuery获取了票价信息。最终他得到了一个包含所有列车的票价信息的表格,并使用Excel进行了数据可视化。通过分析数据,他发现在五一假期前两天和后两天,票价较为便宜,于是他选择了这个时间段出行。
九、总结
本文介绍了如何使用PowerQuery抓取火车票票价,并提供了详细的操作步骤和注意事项。通过本文的学习,读者可以更好地了解PowerQuery的使用方法,方便进行数据处理和分析。