Giter VIP home page Giter VIP logo

easytrain's Introduction

easytrain's People

Contributors

why8n 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

easytrain's Issues

图形验证码过程报错

正在获取验证码..

        -----------------
        | 0 | 1 | 2 | 3 |
        -----------------
        | 4 | 5 | 6 | 7 |
        ----------------- 

输入验证码索引(见上图,以','分割): 2,7
captchaResult: 180,40,250,110
captchaCheck: {'result_message': '验证码校验成功', 'result_code': '4'}
核验方式不正确!
核验方式不正确!
正在获取验证码..
Traceback (most recent call last):
File "/Users/fengheping/Desktop/mySpace/work/pros/EasyTrain/easytrain.py", line 48, in
main()
File "/Users/fengheping/Desktop/mySpace/work/pros/EasyTrain/easytrain.py", line 16, in main
result, msg = login.login(USER_NAME, USER_PWD)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/fengheping/Desktop/mySpace/work/pros/EasyTrain/train/login/Login.py", line 64, in login
result, msg = self._login(userName, userPwd, type=(count % 2))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/fengheping/Desktop/mySpace/work/pros/EasyTrain/train/login/Login.py", line 17, in wrapper
reslut, msg = func(*args, **kw)
^^^^^^^^^^^^^^^^^
File "/Users/fengheping/Desktop/mySpace/work/pros/EasyTrain/train/login/Login.py", line 73, in _login
return self._loginAsyncSuggest(userName, userPwd)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/fengheping/Desktop/mySpace/work/pros/EasyTrain/train/login/Login.py", line 106, in _loginAsyncSuggest
results, verify = Captcha().verifyCaptchaByHand(type=TYPE_LOGIN_OTHER_WAY)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/fengheping/Desktop/mySpace/work/pros/EasyTrain/train/login/Capthca.py", line 69, in verifyCaptchaByHand
img = Image.open(BytesIO(self.getCaptcha(type)))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/PIL/Image.py", line 3280, in open
raise UnidentifiedImageError(msg)
PIL.UnidentifiedImageError: cannot identify image file <_io.BytesIO object at 0x10d76bfb0>

提示这种错误

�[32m正在登录...�[39m
Traceback (most recent call last):
File ".\easytrain.py", line 48, in
main()
File ".\easytrain.py", line 16, in main
result, msg = login.login(USER_NAME, USER_PWD)
File "F:\EasyTrain\train\login\Login.py", line 64, in login
result, msg = self._login(userName, userPwd, type=(count % 2))
File "F:\EasyTrain\train\login\Login.py", line 17, in wrapper
reslut, msg = func(*args, **kw)
File "F:\EasyTrain\train\login\Login.py", line 75, in _login
return self._loginNormal(userName, userPwd)
File "F:\EasyTrain\train\login\Login.py", line 79, in _loginNormal
self._uamtk()
File "F:\EasyTrain\train\login\Login.py", line 47, in _uamtk
return isSuccess(jsonRet),
File "F:\EasyTrain\train\login\Login.py", line 45, in isSuccess
return response['result_code'] == 0 if 'result_code' in response else False
TypeError: argument of type 'NoneType' is not iterable

checkOrderInfo: 第 1 张车票: 乘客不是学生,请从常用联系人中选择学生购买此车票。

发现一个问题呀!
在购买学生票的时候会出现这个错误:

checkOrderInfo: 第 1 张车票: 乘客不是学生,请从常用联系人中选择学生购买此车票。

经过对各个请求的分析,发现问题出在 校验订单信息 这个部分。
对应的请求是:https://kyfw.12306.cn/otn/confirmPassenger/checkOrderInfo
这个请求有一个参数是:oldPassengerStr,相应的格式化这个参数的方法在:utils/TrainUtils.py 中的 oldPassengerStr(passengerDetails) 中,其中下划线前面的数字是 1,而实际请求中的参数值为 3

解决方法:
将下划线前面的 1 改为 3

def oldPassengerStr(passengerDetails):
    # oldPassengerStr-->张三(passenger_name),1(证件类型:passenger_id_type_code),320xxxxxx(passenger_id_no),1_
    return '%s,%s,%s,1_' % (passengerDetails.passengerName,
                            passengerDetails.passengerIdTypeCode,
                            passengerDetails.passengerIdNo)

改为 3 之后就可以正常下单了,具体原理还不太清楚,不知道和购票人类别有没有关系。

# 购票人类别(成人票:1,儿童票:2,学生票:3,残军票:4)
PASSENGER_TYPE_CODE = '3'

get参数问题

Query.py的函数query中,get请求的参数params没发送成功?
一直返回的是网络问题的页面

有项目想找你一起合作

这边有门票类的项目想找你合作,如果有意向的话,你有时间可以看一下,当然你也可以将你的即时通讯联系方式,发到这个邮箱:[email protected],麻烦发过来的时候备注为:票务项目合作,谢谢!

经常登录不成功,只有偶尔成功一次(验证码已验证正确)

Hi,

今天在试用这个脚本,想一边抢票一边看看代码学习。

但目前发现一个问题,在登录过程中执行到 以下这行代码就重定向(status code 302)https://github.com/Why8n/EasyTrain/blob/master/train/login/Login.py#L99 ,
只有偶尔成功登录得上。

今天我花了半天时间去研究也没修复这个问题,@Why8n 能否帮忙修复下这个问题啊? 很喜欢你写的这个脚本,代码简洁。

谢谢

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.