【Python】selenium项目实战:从12306网站获取特定时间段二等座有票的车次

这篇具有很好参考价值的文章主要介绍了【Python】selenium项目实战:从12306网站获取特定时间段二等座有票的车次。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、项目背景

工具: python+pycharm+selenium
12306网址: https://kyfw.12306.cn/otn/leftTicket/init?linktypeid=dc
出发地: 南京
目的地: 上海
发车日期: 当天日期的第二天
发车时间: 06:00–12:00
目的: 打印所有二等座有座的车次

二、页面查找

1、查询条件

【Python】selenium项目实战:从12306网站获取特定时间段二等座有票的车次,python,selenium,开发语言,爬虫

2、定位有二等座的元素

【Python】selenium项目实战:从12306网站获取特定时间段二等座有票的车次,python,selenium,开发语言,爬虫
id="queryLeftTable"标签下的第4个td标签下的符合class=yes的元素,xpath://*[@id="queryLeftTable"]//td[4][@class="yes"]

3、定位有二等座的车次信息

【Python】selenium项目实战:从12306网站获取特定时间段二等座有票的车次,python,selenium,开发语言,爬虫
位于第2步中元素的上一级tr标签下的第1个td标签下的a标签内,xpath://*[@id="queryLeftTable"]//td[4][@class="yes"]/../td[1]//a

4、Ctrl+F检验xpath查找的车次

【Python】selenium项目实战:从12306网站获取特定时间段二等座有票的车次,python,selenium,开发语言,爬虫
查找成功,二等座有座的车次数量为30。

三、代码实现

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.select import Select

driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.get("https://kyfw.12306.cn/otn/leftTicket/init?linktypeid=dc")
# 需点击出发地输入框再进行输入
ele = driver.find_element(By.ID,"fromStationText")
ele.click()
# 输入出发地(需要按回车键确定)
ele.send_keys("南京\n")

# 需点击目的地输入框再进行输入
ele1 = driver.find_element(By.ID,"toStationText")
ele1.click()
# 输入目的地(需要按回车键确定)
ele1.send_keys("上海\n")

# 选择发车时段
select = Select(driver.find_element(By.ID,"cc_start_time"))
select.select_by_visible_text("06:00--12:00")

# 选择发车时间-当前日期第二天
driver.find_element(By.XPATH,'//*[@id="date_range"]//li[2]').click()

# 选取二等座有座的车次信息
trains = ele2 = driver.find_elements(By.XPATH,'//*[@id="queryLeftTable"]//td[4][@class="yes"]/../td[1]//a')

# 输出二等座有座的车次数量
print("二等座有座的车次数量为:")
print(len(trains))

# 输出二等座有座的车次
print("二等座有座的车次分别为:")
for train in trains:
    print(train.text)
driver.quit()

运行结果如下:
【Python】selenium项目实战:从12306网站获取特定时间段二等座有票的车次,python,selenium,开发语言,爬虫
二等座有座的车次数量和车次信息符合页面查找结果,至此完成该项目。文章来源地址https://www.toymoban.com/news/detail-574589.html

到了这里,关于【Python】selenium项目实战:从12306网站获取特定时间段二等座有票的车次的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python爬虫(三)12306自动抢票--- selenium

    一、 二 、 python爬虫入门篇 https://blog.csdn.net/weixin_64050468/article/details/130583771?spm=1001.2014.3001.5501 文章目录 前言 一、按照selenuim模块+配置+可能报错解释 二、selenium部分代码解读  三、开始操作 抢票代码 爬取数据代码 后面文章主打用爬虫整活了 边学边玩 win + r 打开cmd 然后输入

    2024年02月08日
    浏览(44)
  • matlab根据时间列筛选到特定时间段(小时、天、月、年)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 提示:这里可以添加本文要记录的大概内容: 在处理带时间标签的数据时,往往需要对数据进行筛选,本文将介绍一下利用matlab根据时间标签对数据进行筛选的一种方法。 提示:以下是本篇文章正文内

    2024年02月12日
    浏览(46)
  • Java项目实战--基于SpringBoot3.0开发仿12306高并发售票系统--(一)前置知识

    本文参考自 Springboot3+微服务实战12306高性能售票系统 - 慕课网 (imooc.com) 本章将介绍仿12306售票系统实战开发的开发环境、项目核心技术和功能、项目模块和架构设计、开发所需前置知识,若想直接开始编写代码实现,请关注作者,看后面的第二章——项目实现 后端: JDK 17

    2024年04月12日
    浏览(37)
  • 爬虫实战(一)Python+selenium自动化获取数据存储到Mysql中

      行话说得好,“爬虫学得好,牢饭吃到饱!”哈哈博主是因这句话入的坑,不为别的就为邀大家一起铁窗泪(bushi),本人虽小牛一只,但是喜爱捣鼓技术,有兴趣的小伙伴们可以共同探讨,也欢迎各位大佬们的指点,愿共同进步!   这次计划是翻墙爬取外网某网站

    2024年01月17日
    浏览(47)
  • Java项目实战笔记--基于SpringBoot3.0开发仿12306高并发售票系统--(二)项目实现-第二篇-前端模块搭建及单点登录的实现

    本文参考自 Springboot3+微服务实战12306高性能售票系统 - 慕课网 (imooc.com) 本文是仿12306项目实战第(二)章——项目实现 的第二篇,详细讲解使用Vue3 + Vue CLI 实现前端模块搭建的过程,同时其中也会涉及一些前后端交互的实现,因此也会开发一些后端接口;搭建好前端页面后,

    2024年03月26日
    浏览(55)
  • Python+Selenium自动化测试项目实战

    第 1 章 自动化测试 1.1、自动化测试介绍 自动化测试就是通过自动化测试工具帮我们打开浏览器,输入网址,输入账号密码登录,及登录后的操作,总的说来自动化测试就是通过自动化测试脚本来帮我们从繁琐重复的手工测试里面解脱出来,把时间和精力花到更好的地方去,

    2023年04月17日
    浏览(48)
  • Python用selenium实现自动登录和下单的项目实战

    前言 学python对selenium应该不陌生吧 Selenium 是最广泛使用的开源 Web UI(用户界面)自动化测试套件之一。Selenium 支持的语言包括C#,Java,Perl,PHP,Python 和 Ruby。目前,Selenium Web 驱动程序最受 Python 和 C#欢迎。 Selenium 测试脚本可以使用任何支持的编程语言进行编码,并且可以

    2024年01月24日
    浏览(38)
  • 【python+selenium自动化测试实战项目】全面、完整、详细

    项目名称:**公司电子零售会员系统 项目目的:实现电子零售会员系统项目自动化测试执行 项目版本:v1.0 项目目录 项目环境 本版 python 36 pip insatll selenium PyCharm 2017.2.4 Windows 10 10.0 HTMLTestRunner.py 项目框架 unittest单元测试框架 pageobject 设计模式 UI对象库思想 项目设计 1.一个模

    2024年02月06日
    浏览(47)
  • Python+selenium自动化测试实战项目(全面,完整,详细)

    前言 之前的文章说过, 要写一篇自动化实战的文章, 这段时间比较忙再加回家过清明一直没有更新,今天整理一下实战项目的代码共大家学习。(注:项目是针对我们公司内部系统的测试,只能内部网络访问,外部网络无法访问) 问: 1.外部网络无法访问,代码也无法运行

    2024年02月13日
    浏览(42)
  • selenium+python web自动化测试框架项目实战实例教程

    自动化测试对程序的回归测试更方便。 由于回归测试的动作和用例是完全设计好的,测试期望的结果也是完全可以预料的,将回归测试自动运行... 可以运行更加繁琐的测试 自动化测试的一个明显好处就是可以在很短的时间内运行更多的测试。学习自动化测试最终目的是应用到

    2024年02月06日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包