Giter Club home page Giter Club logo

12306's Introduction

12306 购票小助手

python版本

  • 2.7.10 - 2.7.15
  • 3.6 - 3.7.4
  • 2.7.9

已有功能

  • 自动打码
  • 自动登录
  • 准点预售和捡漏
  • 智能候补
  • 邮件通知
  • server酱通知

依赖库

  • 验证码目前可以本地识别,需要下载模型,放于项目根目录,全部代码来源于此项目 传送门,表示感谢
      1. 模型下载链接:https://pan.baidu.com/s/1rS155VjweWVWIJogakechA  密码:bmlm
         群里面也可以下载
      2. git仓库下载:https://github.com/testerSunshine/12306model.git
    
  • 自托管云打码服务器搭建:12306_code_server
    • 如果大家有空闲的服务器,可搭建之后在这个 issues 里面填入自己的服务器(请注意服务器安全!)
  • 项目依赖 requirements.txt
  • 安装方法x:
    • root用户(避免多python环境产生问题): pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
    • 非root用户(避免安装和运行时使用了不同环境): pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
    • 许多windows的用户装不了tensorflow的话,可以适当降低版本或者升高版本都是可以的
      1. tensorflow的兼容版本 1.14.0rc\1.14.0rc\1.15.0\1.15.0rc
      以上版本都测试无问题
      2. 如果pip代理的清华源无法下载,可以更换其他源解决此问题
      

项目使用说明

  • 服务器启动:
    • 修改配置文件
      • 可以配置邮箱,配置邮箱的格式在配置里面可以看到ex
        # 测试邮箱和server酱是否可用, server酱测试的前提是server酱开关开启
        # 可以配置server酱提醒(推荐)[配置教程](https://www.jianshu.com/p/8d10b5b9c4e3)
        # 用python3 还是python 完全取决于安装的时候配置的环境变量是否为python3,以下启动默认环境变量为python3
        python3 run.py t
        
      • 配置配置文件的时候,需注意空格和遵循python语法格式
    • 启动前请先筛选cdn,这点很重要
      python3 run.py c
      
    • 启动服务
      python3 run.py r
      
    • 如果你不知道如何操作,下面的命令可能会帮助你
      python3 run.py -h
      
      ——————————————————————————
      sage: run.py [-h] operate
      
      positional arguments:
        operate     r: 运行抢票程序, c: 过滤cdn, t: 测试邮箱和server酱,server酱
      
  • 如果你的服务器安装了docker与docker-compose, 那么你可以忽略上面的所有步骤,直接按以下步骤操作,即可开始抢票:
    • 前提条件:
      • 请确认你安装的docker版本为18.09及以上: docker -v
      • 请确认你安装的docker-compose版本为1.23.2及以上: docker-compose -v
      • 请根据自己需要修改好配置文件:TickerConfig.py
      • 请修改配置文件TickerConfig.py中的变量AUTO_CODE_TYPEHOSTAUTO_CODE_TYPE改为3, HOST改为"captcha:80"(这里很重要,这是本地打码服务器的配置)
    • 运行命令:
      • 开始抢票:docker-compose up --build -d
      • 停止抢票:docker-compose down
      • 查看抢票log: docker logs --follow ticket

目录对应说明

  • agency - cdn代理
  • config - 项目配置
  • verify - 自动打码
  • init - 项目主运行目录
  • inter - 接口
  • myException - 异常
  • myUrllib request网络请求库

思路图

  • image

项目声明:

  • 本软件只供学习交流使用,勿作为商业用途,交流群号
    • 1群:286271084(已满)
    • 2群:649992274(已满)
    • 3群:632501142(已满)
    • 4群: 606340519(已满)
    • 5群: 948526733(已满)
    • 7群: 660689659(已满)
    • 8群: 620629239(已满)
    • 6群: 608792930(未满)
    • 9群: 693035807(未满)
  • 请不要重复加群,一个群就可以了,把机会留给更多人
  • 进群先看公告!!!进群先看公告!!!进群先看公告!!! 重要的事情说三遍
  • 能为你抢到一张回家的票,是我最大的心愿

日志列子

  • 成功log,如果是购票失败的,请带上失败的log给我,我尽力帮你调,也可加群一起交流,程序只是加速买票的过程,并不一定能买到票
    正在第355次查询  乘车日期: 2018-02-12  车次G4741,G2365,G1371,G1377,G1329 查询无票  代理设置 无  总耗时429ms
    车次: G4741 始发车站: 上海 终点站: 邵阳 二等座:有
    正在尝试提交订票...
    尝试提交订单...
    出票成功
    排队成功, 当前余票还剩余: 359 张
    正在使用自动识别验证码功能
    验证码通过,正在提交订单
    提交订单成功!
    排队等待时间预计还剩 -12 ms
    排队等待时间预计还剩 -6 ms
    排队等待时间预计还剩 -7 ms
    排队等待时间预计还剩 -4 ms
    排队等待时间预计还剩 -4 ms
    恭喜您订票成功,订单号为:EB52743573, 请立即打开浏览器登录12306,访问‘未完成订单’,在30分钟内完成支付!
    

使用帮助(一些安装问题和使用反馈较多的问题):

  • 测试邮箱是否可用 邮箱配置问题看issues

  • 学生票issues 学生票修改

  • 依赖安装不对的问题(ImportError)requirements.txt问题

  • 若快豆子疑问 点我

  • IOError: 【Errno 0】 Error 问题 点我

  • 测试下单接口是否可用,有两个下单接口,随便用哪个都ok

  • 如果下载验证码过期或者下载失败的问题,应该是12306封ip的策略,多重试几次,12306现在封服务器(阿里云和腾讯云)ip比较严重,尽量不要放在服务器里面

  • 目前12306对服务器ip比较敏感,大家还是在自己家里挂着吧

  • 自动更换ip软件目前已支持TPLINK和小米路由器,只限家庭网络点我跳转

感谢一下小伙伴对本项目提供的帮助

更新日志

12306's People

Contributors

447181856 avatar aaronjny avatar backtrackcroot avatar blancray avatar cclauss avatar fbigun avatar fuergaosi233 avatar harlancui avatar hellozjf avatar hhzrz avatar housqlove avatar jasonqiao36 avatar jhbpxx avatar monstertan avatar pkzhilong avatar sjfkai avatar stormeyes avatar testersunshine avatar ttdevs avatar x-falcon avatar zunsthy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

12306's Issues

用户名或密码错误 验证码校验失败,信息为空 打码兔未连接

正在获取cookie
下载验证码...
用户名或密码错误.
验证码校验失败,信息为空
正在获取cookie
下载验证码...
帐号或密码连续错误,请173秒后重试。
验证码校验失败,信息为空
正在获取cookie
下载验证码...
帐号或密码连续错误,请168秒后重试。
验证码校验失败,信息为空

登陆时,一直报错

刷新间隔:0.1
候选购买车次:K751,K282
未开始刷票间隔时间:0.3
僵尸票关小黑屋时长:3


[] 获取Cookie
[
] 下载验证码...
Traceback (most recent call last):
File "run.py", line 11, in
run()
File "run.py", line 7, in run
select_ticket_info.select().main()
File "/Users/Juny_Song/Downloads/12306-master/init/select_ticket_info.py", line 614, in main
self.call_login()
File "/Users/Juny_Song/Downloads/12306-master/init/select_ticket_info.py", line 611, in call_login
go_login()
File "/Users/Juny_Song/Downloads/12306-master/init/login.py", line 126, in go_login
readImg()
File "/Users/Juny_Song/Downloads/12306-master/init/login.py", line 42, in readImg
randCode = DamatuApi(_get_yaml()["damatu"]["uesr"], _get_yaml()["damatu"]["pwd"], img_path).main()
File "/Users/Juny_Song/Downloads/12306-master/damatuCode/damatuWeb.py", line 111, in main
balance = self.getBalance()
File "/Users/Juny_Song/Downloads/12306-master/damatuCode/damatuWeb.py", line 49, in getBalance
res = self.post('d2Balance', data)
File "/Users/Juny_Song/Downloads/12306-master/damatuCode/damatuWeb.py", line 39, in post
response = requests.post(url, data)
File "/Library/Python/2.7/site-packages/requests/api.py", line 112, in post
return request('post', url, data=data, json=json, **kwargs)
File "/Library/Python/2.7/site-packages/requests/api.py", line 58, in request
return session.request(method=method, url=url, **kwargs)
File "/Library/Python/2.7/site-packages/requests/sessions.py", line 508, in request
resp = self.send(prep, **send_kwargs)
File "/Library/Python/2.7/site-packages/requests/sessions.py", line 618, in send
r = adapter.send(request, **kwargs)
File "/Library/Python/2.7/site-packages/requests/adapters.py", line 502, in send
raise ProxyError(e, request=request)
requests.exceptions.ProxyError: HTTPConnectionPool(host='127.0.0.1', port=9742): Max retries exceeded with url: http://api.dama2.com:7766/app/d2Balance (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPConnection object at 0x10f99e9d0>: Failed to establish a new connection: [Errno 61] Connection refused',)))
songjunhongdeMacBook-Pro:12306-master Juny_Song$

有票 但是 不能成功提交 长时间等待排队

正在尝试提交订票...
出票成功
车票提交通过,正在尝试排队
排队成功, 当前余票还剩余: 1503 张
不需要验证码
提交订单成功!
排队等待时间预计还剩 -22450 ms
排队等待时间预计还剩 -22449 ms
排队等待时间预计还剩 -22448 ms
排队等待时间预计还剩 -22447 ms
排队等待时间预计还剩 -22446 ms
排队等待时间预计还剩 -20011 ms
排队等待时间预计还剩 -20010 ms
排队等待时间预计还剩 -20010 ms
排队等待时间预计还剩 -20009 ms
排队等待时间预计还剩 -20008 ms
排队等待时间预计还剩 -20007 ms
排队等待时间预计还剩 -20006 ms
排队等待时间预计还剩 -20006 ms
排队等待时间预计还剩 -20005 ms
排队等待时间预计还剩 -20004 ms
排队等待时间预计还剩 -20004 ms
排队等待时间预计还剩 -20003 ms
排队等待时间预计还剩 -20002 ms
排队等待时间预计还剩 -20001 ms
排队等待时间预计还剩 -16689 ms
排队等待时间预计还剩 -16689 ms
排队等待时间预计还剩 -16688 ms
排队等待时间预计还剩 -16688 ms
排队等待时间预计还剩 -16687 ms
排队等待时间预计还剩 -16687 ms
排队等待时间预计还剩 -16686 ms
排队等待时间预计还剩 -16685 ms
排队等待时间预计还剩 -16685 ms
排队等待时间预计还剩 -16684 ms
超出排队时间,自动放弃,正在重新刷票
接口 {'Host': 'kyfw.12306.cn', 'Referer': 'https://kyfw.12306.cn/otn/confirmPassenger/initDc', 'is_json': True, 're_time': 0.1, 'req_type': 'post', 'req_url': '/otn/confirmPassenger/confirmSingleForQueue', 'is_logger': True, 're_try': 10} 无响应

'NoneType' object has no attribute 'group'

提交订票的时候,接口无响应

self.token = re.search(token_name, initdc_result).group(1)
AttributeError: 'NoneType' object has no attribute 'group'

另外,我使用的时候登录不稳定,验证码通过之后就接口无响应,有时候要重复登录十几次才能成功一次,不知道什么原因

报错

Traceback (most recent call last):
File "run.py", line 11, in
run()
File "run.py", line 7, in run
select_ticket_info.select().main()
File "J:\Git-Repository\12306\12306\init\select_ticket_info.py", line 29, in init
self.from_station, self.to_station, self.station_dates, self._station_seat, self.is_more_ticket, self.ticke_peoples, self.select_refresh_interval, self.station_trains, self.ticket_black_list_time = self.get_ticket_info()
File "J:\Git-Repository\12306\12306\init\select_ticket_info.py", line 71, in get_ticket_info
ticket_black_list_time,
IOError: [Errno 22] Invalid argument

获取Cookie [*] 下载验证码... [*] 验证码通过,开始登录.. [!] tresult: {u'status': False, u'validateMessagesShowId': u'_validatorMessage', u'httpstatus': 200, u'messages': [u'\u7cfb\u7edf\u5fd9\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5'], u'url': u'/leftTicket/init', u'validateMessages': {}} [!] 登录失败: 系统忙,请稍后重试

获取Cookie
[] 下载验证码...
[
] 验证码通过,开始登录..
[!] tresult: {u'status': False, u'validateMessagesShowId': u'_validatorMessage', u'httpstatus': 200, u'messages': [u'\u7cfb\u7edf\u5fd9\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5'], u'url': u'/leftTicket/init', u'validateMessages': {}}
[!] 登录失败: 系统忙,请稍后重试 ****

出现这样的错误怎么处理呢?求教。

超出排队时间, 自动取消排队订单失败

超出排队时间, 自动取消排队订单失败, 导致后续无法提交订票

log 如下(省略了部分重复消息)

排队成功, 当前余票还剩余: 23 张
不需要验证码
提交订单成功!
排队等待时间预计还剩 -36000 ms
排队等待时间预计还剩 -36000 ms
排队等待时间预计还剩 -36000 ms
...
排队等待时间预计还剩 -36000 ms
排队等待时间预计还剩 -36000 ms
超出排队时间,自动放弃,正在重新刷票
接口 {'Host': 'kyfw.12306.cn', 'Referer': 'https://kyfw.12306.cn/otn/confirmPassenger/initDc', 'is_json': True, 're_time': 0.1, 'req_type': 'post', 'req_url': '/otn/confirmPassenger/confirmSingleForQueue', 'is_logger': True, 're_try': 10} 无响应
车次: xxx 始发车站: xxx 终点站: xxx 二等座:有
正在尝试提交订票...
您还有未处理的订单,请您到<a href="../queryOrder/initNoComplete">[未完成订单]</a>进行处理!

应该是没处理好某种返回值

run()
File "run.py", line 7, in run
select_ticket_info.select().main()
File "/Users/hyn/hyn/src/12306/init/select_ticket_info.py", line 612, in main
self.submitOrderRequestImplement(from_station, to_station)
File "/Users/hyn/hyn/src/12306/init/select_ticket_info.py", line 201, in submitOrderRequestImplement
station_ticket = self.submitOrderRequestFunc(from_station, to_station)
File "/Users/hyn/hyn/src/12306/init/select_ticket_info.py", line 183, in submitOrderRequestFunc
station_ticket = json.loads(myurllib2.get(select_url), encoding='utf-8')
File "/usr/local/Cellar/python/2.7.14/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/init.py", line 352, in loads
return cls(encoding=encoding, **kw).decode(s)
File "/usr/local/Cellar/python/2.7.14/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 364, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
TypeError: expected string or buffer

登录时验证码数不出来,显示的图片是你刷新的图片显示过快,请稍后重试

使用:codeimg = 'https://kyfw.12306.cn/otn/passcodeNew/getPassCodeNew?module=login&rand=sjrand&%s' % random.random()得到的图片时刷新的图片显示过快,请稍后重试

当使用URL:codeiamge = https://kyfw.12306.cn/passport/captcha/captcha-image?login_site=E&module=login&rand=sjrand&% random.random()获取验证图片时,能获取到,但是登录时显示系统繁忙

找了个时间做测试,但是查询无票,在官网上查看却有票,这是怎么回事

找了个时间做测试,但是查询无票,在官网上查看却有票,这是怎么回事

怀化-成都 车次坐席查询为空
正在第1次查询 随机停留时长:2.02 乘车日期: 2018-12-15 车次:K580 查询无票 cdn轮询IP:None当前cdn总数:0 总耗时:442ms
怀化-成都 车次坐席查询为空
正在第2次查询 随机停留时长:2.13 乘车日期: 2018-12-15 车次:K580 查询无票 cdn轮询IP:None当前cdn总数:0 总耗时:322ms
怀化-成都 车次坐席查询为空
正在第3次查询 随机停留时长:1.84 乘车日期: 2018-12-15 车次:K580 查询无票 cdn轮询IP:None当前cdn总数:0 总耗时:359ms
怀化-成都 车次坐席查询为空
正在第4次查询 随机停留时长:2.03 乘车日期: 2018-12-15 车次:K580 查询无票 cdn轮询IP:None当前cdn总数:0 总耗时:499ms
怀化-成都 车次坐席查询为空
正在第5次查询 随机停留时长:1.37 乘车日期: 2018-12-15 车次:K580 查询无票 cdn轮询IP:None当前cdn总数:0 总耗时:621ms
怀化-成都 车次坐席查询为空
正在第6次查询 随机停留时长:1.01 乘车日期: 2018-12-15 车次:K580 查询无票 cdn轮询IP:None当前cdn总数:0 总耗时:329ms
怀化-成都 车次坐席查询为空
正在第7次查询 随机停留时长:2.1 乘车日期: 2018-12-15 车次:K580 查询无票 cdn轮询IP:None当前cdn总数:0 总耗时:300ms
怀化-成都 车次坐席查询为空
正在第8次查询 随机停留时长:2.67 乘车日期: 2018-12-15 车次:K580 查询无票 cdn轮询IP:None当前cdn总数:0 总耗时:134ms
怀化-成都 车次坐席查询为空

查询有票 下单总是返回系统忙,请稍后重试

车次: D1849 始发车站: 广州 终点站: 成都 二等座: 有
设置乘车人数为: 1
查询到有余票,尝试提交订单
缓存中找到联系人信息: [{u'code': u'8', u'passenger_type_name': u'\u6210\u4eba', u'passenger_id_type_code': u'1', u'passenger_id_no': u'511122196506194570', u'gat_born_date': u'', u'gat_valid_date_end': u'', u'passenger_flag': u'0', u'mobile_no': u'', u'country_code': u'CN', u'sex_name': u'\u7537', u'email': u'', u'first_letter': u'WYL', u'gat_valid_date_start': u'', u'passenger_type': u'1', u'address': u'', u'postalcode': u'', u'passenger_id_type_name': u'\u4e2d\u56fd\u5c45\u6c11\u8eab\u4efd\u8bc1', u'sex_code': u'M', u'total_times': u'99', u'gat_version': u'', u'recordCount': u'15', u'index_id': u'11', u'phone_no': u'', u'born_date': u'1965-06-19 00:00:00', u'passenger_name': u'\u738b\u6c38\u826f'}]
提交订单失败,重新刷票中
系统忙,请稍后重试

login.py里的readImg函数有错

result = self.httpClint.send(codeimgUrl, is_logger=False)
result返回的是一个dict,

{'message': '\xe9\x87\x8d\xe8\xaf\x95\xe6\xac\xa1\xe6\x95\xb0\xe8\xbe\xbe\xe5\x88\xb0\xe4\xb8\x8a\xe9\x99\x90', 'code': 99999}

不能直接写文件,尝试将message写入文件后,报错图片太小,无法识别。

查到票时一直提交不成功

一直提交不成功:

车次: D2001 始发车站: 北京 终点站: 运城 二等座:有
正在尝试提交订票...
12306接口无响应,正在重试
车次: D2001 始发车站: 北京 终点站: 运城 二等座:有
正在尝试提交订票...
12306接口无响应,正在重试
车次: D2001 始发车站: 北京 终点站: 运城 二等座:有
正在尝试提交订票...
12306接口无响应,正在重试
车次: D2001 始发车站: 北京 终点站: 运城 二等座:有
正在尝试提交订票...
12306接口无响应,正在重试
车次: D2001 始发车站: 北京 终点站: 运城 二等座:有
正在尝试提交订票...
12306接口无响应,正在重试
车次: D2001 始发车站: 北京 终点站: 运城 二等座:有
正在尝试提交订票...
12306接口无响应,正在重试
车次: D2001 始发车站: 北京 终点站: 运城 二等座:有
正在尝试提交订票...
12306接口无响应,正在重试
车次: D2001 始发车站: 北京 终点站: 运城 二等座:有
正在尝试提交订票...
12306接口无响应,正在重试
车次: D2001 始发车站: 北京 终点站: 运城 二等座:有
正在尝试提交订票...
12306接口无响应,正在重试
车次: D2001 始发车站: 北京 终点站: 运城 二等座:有
正在尝试提交订票...
12306接口无响应,正在重试
车次: D2001 始发车站: 北京 终点站: 运城 二等座:有
正在尝试提交订票...
12306接口无响应,正在重试
车次: D2001 始发车站: 北京 终点站: 运城 二等座:有
正在尝试提交订票...
12306接口无响应,正在重试
车次: D2001 始发车站: 北京 终点站: 运城 二等座:有
正在尝试提交订票...
12306接口无响应,正在重试
车次: D2001 始发车站: 北京 终点站: 运城 二等座:有
正在尝试提交订票...
12306接口无响应,正在重试
车次: D2001 始发车站: 北京 终点站: 运城 二等座:有

验证码结果错误

E:\work\openSource\12306>run.py


褰撳墠閰嶇疆锛氬嚭鍙戠珯锛氫笂娴?
鍒拌揪绔欙細鍚堣偉鍗?
涔樿溅鏃ユ湡锛歔'2018-02-13']
鍧愬腑锛氫簩绛夊骇
鏄惁鏈夌エ鑷姩鎻愪氦锛歍rue
涔樿溅浜猴細浣欐偊
鍒锋柊闂撮殧锛?.1
鍊欓€夎喘涔拌溅娆★細G7268,G7232,D3064,G576,D952,G676,D2216,G9434,D3022,G7372,D956,G7564,G9502,D3060,D3090,D3068
鏈紑濮嬪埛绁ㄩ棿闅旀椂闂达細0.3
鍍靛案绁ㄥ叧灏忛粦灞嬫椂闀匡細3


姝e湪鑾峰彇cookie
涓嬭浇楠岃瘉鐮?..
楠岃瘉鐮侀€氳繃,寮€濮嬬櫥褰?.
12306鎺ュ彛鏃犲搷搴旓紝姝e湪閲嶈瘯
Traceback (most recent call last):
File "E:\work\openSource\12306\run.py", line 11, in
run()
File "E:\work\openSource\12306\run.py", line 7, in run
select_ticket_info.select().main()
File "E:\work\openSource\12306\init\select_ticket_info.py", line 630, in main
self.call_login()
File "E:\work\openSource\12306\init\select_ticket_info.py", line 627, in call_login
login.go_login()
File "E:\work\openSource\12306\init\login.py", line 198, in go_login
uamtk = self.baseLogin(user, passwd)
File "E:\work\openSource\12306\init\login.py", line 140, in baseLogin
if 'result_code' in tresult and tresult["result_code"] == 0:
TypeError: argument of type 'NoneType' is not iterable

python2.7 TypeError 是少装了什么吗?还是只能在windows 下运行?

Traceback (most recent call last):
File "run.py", line 11, in
run()
File "run.py", line 7, in run
select_ticket_info.select().main()
File "/data/study_python/12306/init/select_ticket_info.py", line 29, in init
self.from_station, self.to_station, self.station_dates, self._station_seat, self.is_more_ticket, self.ticke_peoples, self.select_refresh_interval, self.station_trains, self.expect_refresh_interval, self.ticket_black_list_time = self.get_ticket_info()
File "/data/study_python/12306/init/select_ticket_info.py", line 68, in get_ticket_info
",".join(station_trains),
TypeError

一查到票,就显示车票信息已过期

验证码通过,开始登录..
登录成功
欢迎 XXX 登录
车次: G1002 始发车站: 深圳 终点站: 武汉 二等座: 有
查询到有余票,尝试提交订单
车票信息已过期,请重新查询最新车票信息

乘车证件类型有误?

第 1 张车票: 乘客证件类型错误,值为3
正在第26次查询 乘车日期: 2018-02-07 车次G4741,G2365,G1371,G1377,G4933 查询无票 代理设置 无 总耗时952ms
车次: G4933 始发车站: 上海 终点站: 长沙 一等座:有
正在尝试提交订票...
尝试提交订单...
出票成功
第 1 张车票: 乘客证件类型错误,值为3
正在第27次查询 乘车日期: 2018-02-07 车次G4741,G2365,G1371,G1377,G4933 查询无票 代理设置 无 总耗时23ms
车次: G4933 始发车站: 上海 终点站: 长沙 一等座:有
正在尝试提交订票...
尝试提交订单...
出票成功
第 1 张车票: 乘客证件类型错误,值为3
正在第28次查询 乘车日期: 2018-02-07 车次G4741,G2365,G1371,G1377,G4933 查询无票 代理设置 无 总耗时137ms
12306接口无响应,正在重试
车次: G4933 始发车站: 上海 终点站: 长沙 一等座:有
正在尝试提交订票...

TypeError: argument of type 'NoneType' is not iterable

正在获取cookie
下载验证码...
验证码通过,开始登录..
登录成功
12306接口无响应,正在重试
Traceback (most recent call last):
File "/Users/lizhen/Desktop/12306/run.py", line 11, in
run()
File "/Users/lizhen/Desktop/12306/run.py", line 7, in run
select_ticket_info.select().main()
File "/Users/lizhen/Desktop/12306/init/select_ticket_info.py", line 630, in main
self.call_login()
File "/Users/lizhen/Desktop/12306/init/select_ticket_info.py", line 627, in call_login
login.go_login()
File "/Users/lizhen/Desktop/12306/init/login.py", line 195, in go_login
if self.getUserName(uamtk):
File "/Users/lizhen/Desktop/12306/init/login.py", line 169, in getUserName
if "result_code" in uamauthclientResult and uamauthclientResult["result_code"] == 0:
TypeError: argument of type 'NoneType' is not iterable

报错

Traceback (most recent call last):
File "run.py", line 3, in
from init import select_ticket_info
File "/root/12306/init/select_ticket_info.py", line 13, in
from config.AutoSynchroTime import autoSynchroTime
ImportError: No module named AutoSynchroTime

LookupError: unknown encoding: cp65001


正在获取cookie
下载验证码...
验证码识别坐标为271,67,289,158
Traceback (most recent call last):
File "F:\12306-master\run.py", line 11, in
run()
File "F:\12306-master\run.py", line 7, in run
select_ticket_info.select().main()
File "F:\12306-master\init\select_ticket_info.py", line 631, in main
self.call_login()
File "F:\12306-master\init\select_ticket_info.py", line 628, in call_login
self.login.go_login()
File "F:\12306-master\init\login.py", line 218, in go_login
if self.codeCheck():
File "F:\12306-master\init\login.py", line 139, in codeCheck
print(fresult["result_message"])
LookupError: unknown encoding: cp65001

若快怎么配置

打码兔的配置在ticket_config.yaml 有选项可以配置,请问若快怎么配置呢?没有找到输入账号密码的地方呀

12306禁止了我ip访问

我的刷了一整天票没抢到,12306把我ip应该封禁了,同一路由下的网都访问不了12306网站,手机网可以

KeyError

➜ 12306-master python run.py
Traceback (most recent call last):
File "run.py", line 15, in
run()
File "run.py", line 7, in run
select_ticket_info.select().main()
File "/Users/vbn/dev/python/12306-master/init/select_ticket_info.py", line 45, in init
self.arrival_time, self.take_time = self.get_ticket_info()
File "/Users/vbn/dev/python/12306-master/init/select_ticket_info.py", line 68, in get_ticket_info
set_type = [seat_conf[x.encode("utf8")] for x in ticket_info_config["set"]["set_type"]]
KeyError: '\xe8\xbd\xaf\xe5\xba\xa7'

pycharm跑通了 终端跑不通

root@jay:~# python /root/12306/run.py


当前配置:出发站:北京西
到达站:武汉
乘车日期:['2018-02-11']
坐席:二等座
是否有票自动提交:True
乘车人:张英杰
刷新间隔:0.5
候选购买车次:G83
未开始刷票间隔时间:0.1
僵尸票关小黑屋时长:3


正在获取cookie
下载验证码...
验证码识别坐标为268,73
验证码通过,开始登录..
正在获取cookie
下载验证码...
验证码识别坐标为173,64,241,141
验证码通过,开始登录..
登录成功
欢迎 张英杰 登录
Traceback (most recent call last):
File "/root/12306/run.py", line 11, in
run()
File "/root/12306/run.py", line 7, in run
select_ticket_info.select().main()
File "/root/12306/init/select_ticket_info.py", line 632, in main
from_station, to_station = self.station_table(self.from_station, self.to_station)
File "/root/12306/init/select_ticket_info.py", line 119, in station_table
result = open('station_name.txt')
IOError: [Errno 2] No such file or directory: 'station_name.txt'
root@jay:~#

一直登陆失败,不知道啥原因

候选购买车次:K751,K282
未开始刷票间隔时间:0.3
僵尸票关小黑屋时长:3


[] 获取Cookie
[
] 下载验证码...
[] 验证码通过,开始登录..
[!] 登录失败: 系统忙,请稍后重试
[
] 获取Cookie
[] 下载验证码...
[
] 验证码通过,开始登录..
[!] 登录失败: 系统忙,请稍后重试
[] 获取Cookie
[
] 下载验证码...
[] 验证码通过,开始登录..
[!] 登录失败: 系统忙,请稍后重试
[
] 获取Cookie
[] 下载验证码...
[
] 验证码通过,开始登录..
[!] 登录失败: 系统忙,请稍后重试
[] 获取Cookie
[
] 下载验证码...
[] 验证码通过,开始登录..
[!] 登录失败: 系统忙,请稍后重试
[
] 获取Cookie
[*] 下载验证码...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.