Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

issues-keyerror #10

Closed
ahlifei opened this issue Jun 8, 2017 · 9 comments
Closed

issues-keyerror #10

ahlifei opened this issue Jun 8, 2017 · 9 comments

Comments

@ahlifei
Copy link

ahlifei commented Jun 8, 2017

拉了最新代码。
运行报错如下:
2017-06-08 23:14:35,821 root[main] ERROR: # 任务运行出错: KeyError('signText',)
Traceback (most recent call last):
File "C:/Users/lifei/PycharmProjects/JD-Coin/app/main.py", line 23, in main
job.run()
File "C:\Users\lifei\PycharmProjects\JD-Coin\app\job\daka.py", line 41, in run
self.job_success = self.sign()
File "C:\Users\lifei\PycharmProjects\JD-Coin\app\job\bean_app.py", line 52, in sign
message = as_json['signText']
KeyError: 'signText'
print了 as_json {'status': 4} 字典里只有这个输出,所以报了keyerror,这个知道什么原因吗?3q

@CaoZ
Copy link
Owner

CaoZ commented Jun 8, 2017

感谢提醒~ 应该是当时写代码时考虑不周,没有考虑到返回中没有signText的情况,这个返回值应该也不常见,具体代表啥也无从考证了,因为这是原来领京豆的接口,现在还能用,但是相关页面都重定向到新地址了(https://bean.m.jd.com)...

@ahlifei
Copy link
Author

ahlifei commented Jun 9, 2017

感谢回答。意思是不影响正常功能吗?我这边测试有失败的任务: ['京东客户端签到领京豆']。2017-06-09 10:31:52,988 jobs[bean_app] INFO: 今日已签到: False; 其他功能都OK。这个功能你本地测试OK的吗,3q!

@CaoZ
Copy link
Owner

CaoZ commented Jun 9, 2017

这个 bug 不影响正常领取,可能偶尔在领取失败时因为某些情况返回中没有错误信息会不能正确处理...

你那里今天还报错吗?你的这个 log 下一行是啥?我这里一切正常...

第一次执行:

2017-06-09 10:55:59,620 jobs[bean_app] INFO: 今日已签到: False; 签到天数: 5; 现有京豆: 949
2017-06-09 10:55:59,859 jobs[bean_app] INFO: 签到成功: True; Message: 签到成功,已领3京豆,翻牌得奖励
2017-06-09 10:55:59,966 jobs[bean_app] INFO: 翻牌成功: True; Message: 今日已签到,已翻牌,共领4京豆

第二次执行:

2017-06-09 11:03:35,639 jobs[bean_app] INFO: 今日已签到: True; 签到天数: 6; 现有京豆: 959

@ahlifei
Copy link
Author

ahlifei commented Jun 9, 2017

2017-06-09 10:31:50,899 root[config] INFO: 使用配置文件 "config.json".
2017-06-09 10:31:50,934 root[main] INFO: # 从文件加载 cookies 成功.
2017-06-09 10:31:50,934 jobs[daka] INFO: Job Start: 小白卡钢镚打卡
2017-06-09 10:31:51,278 jobs[daka] INFO: 登录状态: True
2017-06-09 10:31:51,641 jobs[daka] INFO: 今日已打卡: False; 打卡天数: 0
2017-06-09 10:31:51,981 jobs[daka] INFO: 打卡成功: False; Message: 尊敬的用户,成功办理小白卡才能领取哦
2017-06-09 10:31:51,982 jobs[daka] INFO: Job End.
2017-06-09 10:31:51,982 jobs[daka] INFO: Job Start: 京东客户端钢镚打卡
2017-06-09 10:31:52,328 jobs[daka] INFO: 登录状态: True
2017-06-09 10:31:52,328 jobs[daka_app] INFO: 今日已打卡: True
2017-06-09 10:31:52,329 jobs[daka] INFO: Job End.
2017-06-09 10:31:52,329 jobs[daka] INFO: Job Start: 京东客户端签到领京豆
2017-06-09 10:31:52,653 jobs[daka] INFO: 登录状态: True
2017-06-09 10:31:52,988 jobs[bean_app] INFO: 今日已签到: False; 签到天数: 8; 现有京豆: 891
2017-06-09 10:31:53,313 root[main] ERROR: # 任务运行出错: KeyError('signText',)
Traceback (most recent call last):
File "app/main.py", line 23, in main
job.run()
File "/home/pi/Codes/JD-Coin_20170609bak/app/job/daka.py", line 48, in run
self.job_success = self.sign()
File "/home/pi/Codes/JD-Coin_20170609bak/app/job/bean_app.py", line 52, in sign
message = as_json['signText']
KeyError: 'signText'
2017-06-09 10:31:53,317 jobs[daka] INFO: Job Start: 京东直播现金红包
2017-06-09 10:31:53,648 jobs[daka] INFO: 登录状态: True
2017-06-09 10:31:53,784 jobs[red_packet] INFO: 领取结果: 今天你已领过了,请明天再来领~
2017-06-09 10:31:53,784 jobs[daka] INFO: Job End.
2017-06-09 10:31:53,785 jobs[daka] INFO: Job Start: 京东会员页签到领京豆
2017-06-09 10:31:54,139 jobs[daka] INFO: 登录状态: True
2017-06-09 10:31:54,485 jobs[bean] INFO: 今日已签到: True; 现在有 891 个京豆.
2017-06-09 10:31:54,486 jobs[daka] INFO: Job End.
2017-06-09 10:31:54,486 jobs[daka] INFO: Job Start: 京东金融签到领京豆
2017-06-09 10:31:54,807 jobs[daka] INFO: 登录状态: True
2017-06-09 10:31:54,897 jobs[bean_jr] INFO: 今天已签到: True; 签到天数: 0
2017-06-09 10:31:54,898 jobs[daka] INFO: Job End.

= 任务数: 6; 失败数: 2
= 失败的任务: ['小白卡钢镚打卡', '京东客户端签到领京豆']

@CaoZ
Copy link
Owner

CaoZ commented Jun 9, 2017

你在浏览器中登录 https://m.jd.com,然后访问 https://ld.m.jd.com/SignAndGetBeansN/signStart.action,返回的是什么呢?

@ahlifei
Copy link
Author

ahlifei commented Jun 9, 2017

登陆后,chrome浏览器访问 https://ld.m.jd.com/SignAndGetBeansN/signStart.action返回
{
status: 4
}

@ahlifei
Copy link
Author

ahlifei commented Jun 10, 2017

2017-06-10_101604
手动签到后正常显示是有其他正常信息的,都是绑定了qq登陆的。

@CaoZ
Copy link
Owner

CaoZ commented Jun 10, 2017

你的意思是你在京东客户端手动签到成功了吗?然后签到成功后访问这个网址却依然返回的是 {"status": 4}

@ahlifei
Copy link
Author

ahlifei commented Jun 10, 2017

手动签到成功,返回的不是{"status": 4}。没手动签到,登陆后再点那个链接就是status4.

@CaoZ CaoZ closed this as completed Oct 16, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants