第1期-通过携程爬取机票价格

首先我们先找到携程机票的地址

携程机票的地址为,https://flights.ctrip.com/online/list/oneway-{a}-{b}?depdate={c}
其中,a为起始地,b为目的地,c为时间
例如,北京-上海,2021年9月1日的机票地址应该为
https://flights.ctrip.com/online/list/oneway-bjs-sha?depdate=2021-09-01

由此可见,如果通过selenium来获取机票价格的话,是非常容易的,只需要知道起始地,目的地和时间,直接构造出这个地址,然后返回源码,并提取数据就可以了。

根据这个地址分析得到接口地址

地址一:https://flights.ctrip.com/international/search/api/lowprice/calendar/getOwCalendarPrices?departCityCode={a}&arrivalCityCode={b}&v={c}


地址二:
https://flights.ctrip.com/international/search/api/lowprice/calendar/getCalendarDetailList?v={a}

地址三:
https://flights.ctrip.com/international/search/api/search/batchSearch?v={a}

地址四:
https://flights.ctrip.com/international/search/api/flight/comfort/batchGetComfortTagList?v={a}

其中近期的机票最低价格,在地址一和地址二中,机票的详细信息在地址三和地址四中

主要需要取得两个参数,v和sign即可

结论:主要的验证是需要通过js取得加密参数,如果运行js,可以直接取得结果

查看2021更多爬虫分析,点击这里

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
以下是一个简单的 Python 程序,可以通过携程的 API 爬取实时机票价格。 首先,你需要安装 requests 和 BeautifulSoup4 库。如果还没有安装,你可以在命令行中运行以下命令: ```python pip install requests beautifulsoup4 ``` 然后,你可以使用以下代码来爬取携程航班实时机票价格: ```python import requests from bs4 import BeautifulSoup # 携程机票查询 API url = "http://flights.ctrip.com/domesticsearch/search/SearchFirstRouteFlights?DCity1={0}&ACity1={1}&SearchType=S&DDate1={2}" # 出发城市 departure_city = "北京" # 到达城市 arrival_city = "上海" # 出发日(格式为 YYYY-MM-DD) departure_date = "2021-12-01" # 构造请求 URL url = url.format(departure_city, arrival_city, departure_date) # 发送 GET 请求 response = requests.get(url) # 解析 HTML soup = BeautifulSoup(response.content, "html.parser") # 提取机票价格 price = soup.find("span", class_="base_price02").text # 输出结果 print("携程机票价格为:{0} 元".format(price)) ``` 在这个程序中,我们构造了一个携程机票查询 API 的 URL,并使用 requests 库发送了一个 GET 请求。然后,我们使用 BeautifulSoup4 库解析 HTML 并提取了机票价格。最后,我们将结果输出到控制台。 当你运行这个程序时,你应该会看到类似于以下的输出: ``` 携程机票价格为:680 元 ``` 请注意,这个程序只是一个简单的示例。如果你想爬取更多的数据,你需要了解更多的携程 API 和 HTML 结构。此外,爬取网站时需要遵守网站的规则和法律法规,否则可能会受到法律责任。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值