目标网站
携程:https://flights.ctrip.com/domestic/schedule/
思路分析
- 获取到所有的地方航班
打开网址,可以看到如下内容:
这一步目的是获取到这里显示的所有的航班。 - 得到一个地方航班的所有线路
随便打开一个航班,可以看到这个地方航班所有的线路,如下图:
这一步目的是获取到这里显示的所有的线路。 - 得到一条线路的所有航班信息
打开一条线路,可以看到这条线路上所有运行的航班:
这一步的目的是获取到这条线路所有的航班信息 - 通过循环获取到所有的信息
以上三步能得到一个地方航班的 一条线路的 航班信息,接下来要做的是,通过循环获取到所有地方航班的航班信息。
代码分析及实现
这里我使用的是BeautifulSoup库。
所需模块:
import requests
from bs4 import BeautifulSoup
- 获取到所有的地方航班
通过开发者工具可以看到每个li标签里都存放着对应首字母开头的地方航班,每个a标签的内容是地方航班的名称以及链接:
我们需要得到所有的li标签,再得到每个li标签里的a标签,把航班名称和对应的链接存在一个字典中,下