# 12306抢票 **Repository Path**: cdcp1315/12306-ticket-grabbing ## Basic Information - **Project Name**: 12306抢票 - **Description**: 12306抢票小爬虫。本项目基于selenium实现了12306的自动登录抢票,可自动过滑动验证码,自动查询车票是否开售,一旦放票可以自动选票并提交订单,可以选学生票,你只需在10分钟内支付即可。 - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 23 - **Created**: 2024-01-22 - **Last Updated**: 2024-02-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 12306抢票爬虫 本项目基于selenium实现了12306的自动登录,可自动过滑动验证码,自动查询车票是否开售,一旦放票可以自动选票并提交订单,可以选学生票,你只需在10分钟内支付即可。需要注意的是该程序要在放票前几分钟运行,要不然票都被抢光了再运行神仙也抢不到 ## 环境 本项目测试环境:win10,python3,selenium > 4.0,chrome = 120,pycharm,chromedriver.exe = 120 chromedriver.exe版本为104,可以根据自己浏览器版本重新下载chromedriver.exe替换 chromedriver.exe下载地址(此地址只能下载114及之前的版本):[http://chromedriver.storage.googleapis.com/index.html](http://chromedriver.storage.googleapis.com/index.html) chromedriver.exe下载地址(114之后版本下载):https://googlechromelabs.github.io/chrome-for-testing/ 下载完成之后,安装及环境变量配置:https://blog.csdn.net/nings666/article/details/134314452 ## 执行步骤 0. 按照上述链接安装好python环境、chromedriver、selenium,执行test.py能到顺利打开网页即可。 1. 提前登录12306 2. 获取关键的3个cookie 3. 修改config.py为想要的参数 4. 执行12306.py ## 项目结构 ```python ————12306 ————12306.py ————config.py ————chromedriver.exe ``` ## 车票以及账号信息 在`config.py`中填入账号以及车票信息 ```python class Config: def __init__(self): # 账号 self.username = '##########' # 密码 self.password = '##########' # 出发地 self.fromstation = '#####' # 目的地 self.destination = '#####' # 出发日期 self.date = '2022-08-09' # 车次 例如Z146,G127 self.trainnumber = '####' ``` ## 说明 此项作废 `12306.py`如果乘客不是学生,需要把151行`driver.find_element(by=By.XPATH, value='//*[@id="dialog_xsertcj_ok"]').click()`注释掉 ## 交流+V:CDCP1315