python开源12306火车票抢票程序py12306教程

亲测有效。
git地址:https://github.com/pjialin/py12306

第一步,创建python3虚拟环境

pip install virtualenv
virtualenv venv
virtualenv -p /usr/bin/python3.6 venv
source venv/bin/activate

创建详细教程
https://www.cnblogs.com/technologylife/p/6635631.html

第二步,克隆并安装依赖

git clone https://github.com/pjialin/py12306
cd py12306
pip install -r requirements.txt

第三步,配置配置文件

cp env.py.example env.py
vi env.py

1.填写12306账号密码

# 12306 账号
USER_ACCOUNTS = [
    # 目前已支持仅查询,不下单,屏蔽掉下面的账号即可
    {
        'key': 0,  # 如使用多个账号 key 不能重复
        'user_name': '12306 user name',
        'password': '12306 password'
    },
    # {
    #     'key': 'wangwu',
    #     'user_name': 'wangwu@qq.com',
    #     'password': 'wangwu'
    # }
]

在USER_ACCOUNTS的列表的第一个字典中填入你的12306的账号(user_name)和密码(password)

2.选择打码方式
打码有‘ruokuai’和‘free’两种模式
作者称free不可持续,建议ruokuai

如果使用若快,将AUTO_CODE_PLATFORM改成‘ruokuai’
若快注册网址为http://www.ruokuai.com/login
注册后将注册的账号密码填入AUTO_CODE_ACCOUNT即可

收费是这样的。1块钱能买2500个豆,登陆打码一次大概花费10-30个豆,感觉最多充5块钱的豆就够了,建议先来1块钱的试试。同时关注其公众号,还能免费获得1000豆。

image.png
# 打码平台账号
# 目前只支持免费打码接口 和 若快打码,注册地址:http://www.ruokuai.com/login
AUTO_CODE_PLATFORM = 'ruokuai'  # 免费填写 free 若快 ruokuai  # 免费打码无法保证持续可用,如失效请手动切换
AUTO_CODE_ACCOUNT = {  # 使用 free 可用省略
    'user': 'user_name',
    'pwd': 'user password'
}

3、设置语音提醒
因为抢到票以后需要及时提醒你去支付,完成订单,所以,建议开启语音提醒功能。

可以在阿里云领取5次免费体验套餐,因为抢票成功后才会使用,所以基本够用

另外收费是1元10次

登陆https://market.aliyun.com/products/57126001/cmapi019902.html

image.png

购买或者领取免费套餐后,会得到一个appcode,将其填入NOTIFICATION_API_APP_CODE

# 语音验证码
# 没找到比较好用的,现在用的这个是阿里云 API 市场上的,基本满足要求,价格也便宜
# 购买成功后到控制台找到  APPCODE 放在下面就可以了
# 地址:https://market.aliyun.com/products/57126001/cmapi019902.html
NOTIFICATION_BY_VOICE_CODE = 1  # 开启语音通知
NOTIFICATION_API_APP_CODE = 'app code'

4、配置日期,车次,始发站,终点站信息
首先在left_dates中填入你期望的出发日期,可以是多个,注意格式一定是‘2019-02-02’这种
然后再stations中填入你的始发站和终点站
members中,填入你的乘客名字
seats中填入‘特等座, 商务座, 一等座, 二等座, 软卧, 硬卧, 动卧, 软座, 硬座, 无座’中的一个或者多个
train_numbers,填入车次,如果为空,则为出发日期的所有可抢车次票

QUERY_JOBS = [
    {
        # 'job_name':  'bj -> sz',  # 任务名称,不填默认会以车站名命名,不可重复
        'account_key': 0,  # 将会使用指定账号下单
        'left_dates': [  # 出发日期 :Array
            "2019-02-01",
            #"2019-01-26",
        ],
        'stations': {  # 车站 支持多个车站同时查询  :Dict or :List
            'left': '北京',
            'arrive': '潍坊',
        },
        #  # 多个车站示例  (建议添加多个,有时多买几站成功率会高一点)
        # 'stations': [{
        ],
        'stations': {  # 车站 支持多个车站同时查询  :Dict or :List
            'left': '北京',
            'arrive': '潍坊',
        },
        #  # 多个车站示例  (建议添加多个,有时多买几站成功率会高一点)
        # 'stations': [{
        #     'left': '北京',
        #     'arrive': '深圳',
        # },{  # 多个车站示例
        #     'left': '北京',
        #     'arrive': '广州',
        # }],
        'members': [  # 乘客姓名,会根据当前账号自动识别乘客类型 购买儿童票 设置两个相同的姓名即可,程序会自动识别 如  ['张三', '张三']
            "一行数师",
            #"王五",
        ],
        'allow_less_member': 0,  # 是否允许余票不足时提交部分乘客
        'seats': [  # 筛选座位  有先后顺序 :Array
            # 可用值: 特等座, 商务座, 一等座, 二等座, 软卧, 硬卧, 动卧, 软座, 硬座, 无座
            '二等座',
            '硬卧',
            #'硬座'
        ],
        'train_numbers': [  # 筛选车次 可以为空,为空则所有车次都可以提交
            "G4961",
            "K411",
            #"K4184"
        ]

    },

第四步,测试
1 测试配置信息

python main.py -t

2 测试通知消息

python main.py -t -n

第五步,开抢

python main.py
image.png

抢到票后,会收到语音提示,届时到进入12306的订单查看中进行支付即可。

祝大家抢票顺利,新年快乐。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,242评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,769评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,484评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,133评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,007评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,080评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,496评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,190评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,464评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,549评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,330评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,205评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,567评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,889评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,160评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,475评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,650评论 2 335