基于python提火车票信息_python利用selenium+requests+beautifulsoup爬取12306火车票信息

在高速发展的时代。乘车出远门是必不可少的,有些查询信息是要收费的。这里打造免费获取火车票信息

想要爬取12306火车票信息,访问12306官方网站,输入出发地,目的地  ,时间  之后点击确定,这是我们打开谷歌浏览器开发者模式找到   https://kyfw.12306.cn/otn/resources/js/framework/station_name.js    这里包含了所有城市的信息和所有城市的缩写字母。想要获取火车票信息  https://kyfw.12306.cn/otn/leftTicket/queryZ?leftTicketDTO.train_date=2019-01-19&leftTicketDTO.from_station=BJP&leftTicketDTO.to_station=SHH&purpose_codes=ADULT   ,这是北京到上海   浏览器确定之后所抓的包   从中可以  看出  BJP =北京   而  SHH=上海     .   下图为 所有城市代号

9a09bfbb617c4554d12a65c115d8b3a3.png

现在把上面的js 数据转变为json数据     {“北京”:BJP  ,"上海":SSH}

根据字符窜的  split ()方法    按照“=”进行拆分  取出等号后面的数据           “字符窜”.split("=")[1]      这样就获取到  等号后面的数据  如下图:

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用Python爬取12306网站的步骤和注意事项: 1. 首先需要安装requestsBeautifulSoup库,可以使用pip命令进行安装。 2. 使用requests库发送HTTP请求,获取12306网站的HTML源代码。 3. 使用BeautifulSoup库解析HTML源代码,取需要的信息。 4. 由于12306网站有反爬机制,需要使用一些反反爬技术,例如设置请求头、使用代理IP等。 5. 可以使用selenium库模拟浏览器行为,实现自动化爬取。 6. 注意不要频繁发送请求,以免被封IP。 以下是一个简单的示例代码,可以爬取12306网站的车票信息: ```python import requests from bs4 import BeautifulSoup # 设置请求头 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} # 发送HTTP请求,获取HTML源代码 url = 'https://kyfw.12306.cn/otn/leftTicket/query?leftTicketDTO.train_date=2022-01-01&leftTicketDTO.from_station=BJP&leftTicketDTO.to_station=SHH&purpose_codes=ADULT' response = requests.get(url, headers=headers) html = response.text # 解析HTML源代码,取车票信息 soup = BeautifulSoup(html, 'html.parser') tickets = soup.select('tr[data-trace]') for ticket in tickets: train_no = ticket['data-trainno'] from_station = ticket['data-fromstation'] to_station = ticket['data-tostation'] start_time = ticket.select_one('.start-t')['title'] end_time = ticket.select_one('.end-t')['title'] duration = ticket.select_one('.ls-duration').text price = ticket.select_one('.ticket-price').text print(train_no, from_station, to_station, start_time, end_time, duration, price) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值