超星学习通自动签到使用教程

我也不知道写这个干嘛。。。 :huaji21:
https://github.com/yuban10703/chaoxingsign
这里就讲云函数使用吧,脚本能自动判断云函数与本地运行(感谢gzzchh) :huaji14:
到控制台按照图中顺序新建一个云函数(目前测试广州好像不能用.其他地区可以)

然后进入新建函数界面,名字随便填,运行环境选择python3.6,模板的话随便就行,反正都要删掉的....

然后把云函数代码根目录下的代码全部从右边拷贝到左边(点一下GitHub右上角的小铅笔,CTRL-A,CTRL-C,CTRL-A,CTRL-V)

然后把config.json的文件也拷贝过去

单用户的话像下面一样设置就好了(name默认就是默认状态,除非你想搞事情,SCKEY不用的话也保持默认就行) :huaji11:

多用户的话就是往后面追加,

如果只填一个参数的话所有的用户都会用那一个参数,比如下图中的SCKEY(应该会吧....我自己都不知道我写了啥)
如果一些用户不需要一些特定参数就给留一个空的值,比如图中的picname(picname就是同目录下的图片名字)
对了,上传图片的话先把代码包下载下来(编辑框右上角,下载-下载代码包),然后在代码包里把图片塞进去,然后在左上角的提交方法里上传本地zip包再传回去.....
接下来点击下面的保存并测试

测试成功的话就没什么问题,失败的话可能是课太多,超时时间设置的太短了,把超时时间调大点(应该可以吧,,,,也有可能有bug.emmm)

然后到触发方式里,添加触发方式,自定义触发方式,或者直接选择5分钟一次......

0 */5 8-19 * * MON-FRI *

上面这个表示周一到周五每天的8-19点内每5分钟触发一次

可以在运行日志看见运行情况..

点赞
  1. 111说道:
    Google Chrome Windows 10

    大哥 这个可以多个课程一起检测吗,一个一个的太慢了

    1. tianle tianle说道:
      Google Chrome Windows 10

      不会,,,刚刚开始学python没几天...

      1. 陪你度过漫长岁月说道:
        Google Chrome Windows 10

        刚学几天就做出来了啊,牛啊

        1. tianle tianle说道:
          Google Chrome Windows 10

          原作者现成函数....

  2. muran说道:
    Google Chrome Windows 10

    Traceback (most recent call last):
    File "C:\Users\18044\Desktop\chaoxingsign-master\chaoxingsign-master\chaoxingsign.py", line 79, in
    pushdata['imageurl']=item['content']['course']['data'][0]['imageurl']
    KeyError: 'imageurl'

    1. tianle tianle说道:
      Google Chrome Windows 10

      emmm,我也不知道啥出问题了 :lei:

      1. muran说道:
        Google Chrome Windows 10

        我知道怎么解决了,把带有imageurl的这一行代码注释掉即可 :kaixin:

        1. tianle tianle说道:
          Google Chrome Windows 10

          :tushe: 那就好 :caihong:

      2. Zxilly说道:
        Google Chrome Windows 10

        imageurl并不是一个必定存在的参数。。。
        拿个try包起来,except KeyError就好

        1. tianle tianle说道:
          Google Chrome Windows 10

          emmm,直接去掉了,貌似用不到这个 :huaji12:

  3. whooc说道:

    大佬全是这样的
    13.课程名称:军事理论(2019秋)
    ('2020-03-25 16:36:46', '[\xe7\x9b\x91\xe6\x8e\xa7\xe8\xbf\x90\xe8\xa1\x8c\xe4\xb8\xad]\xe8\xaf\xbe\xe7\xa8\x8b:', u'\u5f62\u52bf\u4e0e\u653f\u7b56\uff082020\u6625\uff09', '\xe6\x9c\xaa\xe6\x9f\xa5\xe8\xaf\xa2\xe5\x88\xb0\xe7\xad\xbe\xe5\x88\xb0\xe6\xb4\xbb\xe5\x8a\xa8')
    ('2020-03-25 16:36:57', '[\xe7\xad\xbe\xe5\x88\xb0]', u'\u7ba1\u7406\u5b66\u539f\u7406', u'\u67e5\u8be2\u5230\u5f85\u7b7e\u5230\u6d3b\u52a8 \u6d3b\u52a8\u540d\u79f0:\u7b7e\u5230 \u6d3b\u52a8\u72b6\u6001: \u6d3b\u52a8\u65f6\u95f4: aid:161958757')
    (u'\u60a8\u5df2\u7b7e\u5230\u8fc7\u4e86', '\xe7\xad\xbe\xe5\x88\xb0\xe5\xa4\xb1\xe8\xb4\xa5')
    ('2020-03-25 16:37:07', '[\xe7\x9b\x91\xe6\x8e\xa7\xe8\xbf\x90\xe8\xa1\x8c\xe4\xb8\xad]\xe8\xaf\xbe\xe7\xa8\x8b:', u'\u5927\u5b66\u751f\u5fc3\u7406\u5065\u5eb7\u6559\u80b2', '\xe6\x9c\xaa\xe6\x9f\xa5\xe8\xaf\xa2\xe5\x88\xb0\xe7\xad\xbe\xe5\x88\xb0\xe6\xb4\xbb\xe5\x8a\xa8')
    ('2020-03-25 16:37:18', '[\xe7\x9b\x91\xe6\x8e\xa7\xe8\xbf\x90\xe8\xa1\x8c\xe4\xb8\xad]\xe8\xaf\xbe\xe7\xa8\x8b:', u'\u4e2d\u7ea7\u8d22\u52a1\u4f1a\u8ba11', '\xe6\x9c\xaa\xe6\x9f\xa5\xe8\xaf\xa2\xe5\x88\xb0\xe7\xad\xbe\xe5\x88\xb0\xe6\xb4\xbb\xe5\x8a\xa8')
    ('2020-03-25 16:37:28', '[\xe7\x9b\x91\xe6\x8e\xa7\xe8\xbf\x90\xe8\xa1\x8c\xe4\xb8\xad]\xe8\xaf\xbe\xe7\xa8\x8b:', u'\u4e2d\u56fd\u8fd1\u73b0\u4ee3\u53f2\u7eb2\u8981', '\xe6\x9c\xaa\xe6\x9f\xa5\xe8\xaf\xa2\xe5\x88\xb0\xe7\xad\xbe\xe5\x88\xb0\xe6\xb4\xbb\xe5\x8a\xa8')
    ('2020-03-25 16:37:38', '[\xe7\x9b\x91\xe6\x8e\xa7\xe8\xbf\x90\xe8\xa1\x8c\xe4\xb8\xad]\xe8\xaf\xbe\xe7\xa8\x8b:', u'\u5927\u5b66\u4f53\u80b2', '\xe6\x9c\xaa\xe6\x9f\xa5\xe8\xaf\xa2\xe5\x88\xb0\xe7\xad\xbe\xe5\x88\xb0\xe6\xb4\xbb\xe5\x8a\xa8')
    ('2020-03-25 16:37:48', '[\xe7\x9b\x91\xe6\x8e\xa7\xe8\xbf\x90\xe8\xa1\x8c\xe4\xb8\xad]\xe8\xaf\xbe\xe7\xa8\x8b:', u'\u9ad8\u7b49\u6570\u5b66A2', '\xe6\x9c\xaa\xe6\x9f\xa5\xe8\xaf\xa2\xe5\x88\xb0\xe7\xad\xbe\xe5\x88\xb0\xe6\xb4\xbb\xe5\x8a\xa8')
    Traceback (most recent call last):
    File "/home/whooc/Desktop/chaoxingsign-master/chaoxingsign.py", line 140, in
    time.sleep(speed)#休眠
    KeyboardInterrupt

    1. tianle tianle说道:
      Google Chrome Windows 10

      啊??

    2. tianle tianle说道:
      Google Chrome Windows 10

      这是字体有问题???........

        1. tianle tianle说道:
          Google Chrome Windows 10

          你去shell里执行下试试?我这测试没问题呀,,,,,

          1. tianle tianle说道:
            Google Chrome Windows 10

            试试这个....
            python3 chaoxingsign.py

          2. whooc说道:

            哇,成功,谢谢大佬

    3. tianle tianle说道:
      Google Chrome Windows 10

      你用的python版本是什么?,我这里3.7.5和3.8.2都没问题呀...... :huaji9:

  4. whooc说道:

    大佬,这个能放在服务器上面一直监控吗,一直监控会不会违规

    1. tianle tianle说道:
      Google Chrome Windows 10

      不会吧,我挂了好几天了 :huaji9:

  5. clvax说道:
    Google Chrome Windows 10

    大佬怎么样做到只执行一次查询签到,不让py脚本一直监控运行(这样高频率的访问服务器负载,超星也可能把IP拉黑),我crontab设置了定时任务,周一至周五朝七晚六每五分钟执行一次脚本,但我查询进程发现一天下来有几百个py进程后台运行 嘤嘤嘤

    1. tianle tianle说道:
      Google Chrome Windows 10

      你把查询间隔调大点,用screen挂住就好了...

  6. admer说道:
    Google Chrome Windows 10

    有一门课 显示 error 502 怎么回事,只是一门课 其他都正常

    1. tianle tianle说道:
      Google Chrome Windows 10

      这门课是不是从来没有发过签到之类的消息?

  7. konsn说道:
    Google Chrome Mac OS X 10.15.4

    {"errorCode":1,"errorMessage":"user code exception caught","stackTrace":"Traceback (most recent call last):\n File \"/var/user/index.py\", line 247, in main_handler\n CxSign.subject(m)\n File \"/var/user/index.py\", line 75, in subject\n cdata = json.loads(res.text)\n File \"/var/lang/python3/lib/python3.6/json/__init__.py\", line 354, in loads\n return _default_decoder.decode(s)\n File \"/var/lang/python3/lib/python3.6/json/decoder.py\", line 339, in decode\n obj, end = self.raw_decode(s, idx=_w(s, 0).end())\n File \"/var/lang/python3/lib/python3.6/json/decoder.py\", line 357, in raw_decode\n raise JSONDecodeError(\"Expecting value\", s, err.value) from None\njson.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)"}

    1. tianle tianle说道:
      Google Chrome Windows 10

      什么环境?...
      看看配置文件....

      1. Konsn说道:
        Safari iPhone iOS 13.3

        就按教程里走的呀 云函数选的python3.6啊 这个.py代码不知道哪儿有问题 头大死了

        1. tianle tianle说道:
          Google Chrome Windows 10

          你用的是根目录下的的那个PY吧...
          看一下配置文件,,, :huaji9:

  8. konsn说道:
    Google Chrome Mac OS X 10.15.4

    去哪看配置文件啊?你直接加个我微信吧

    1. tianle tianle说道:
      Google Chrome Windows 10

      就是那个conf.json啊...

      1. konsn说道:
        Google Chrome Mac OS X 10.15.4

        {
        "username": [""],
        "passwd": [""],
        "SCKEY": [""],
        "name": [""],
        "address": [""],
        "latitude": ["32.2829260000"],
        "longitude": ["43.9237990000"],
        "picname": [""]
        }

        1. tianle tianle说道:
          Google Chrome Windows 10

          用户名和密码你当时填了么?....

          1. Konsn说道:
            Safari iPhone iOS 13.3

            填了 一直找不到什么原因

          2. tianle tianle说道:
            Google Chrome Windows 10

            你云函数地区不会是广州吧....

  9. konsn说道:
    Google Chrome Mac OS X 10.15.4

    {
    "username": [""],
    "passwd": [""],
    "SCKEY": [""],
    "name": [""],
    "address": [""],
    "latitude": ["32.2829260000"],
    "longitude": ["43.9237990000"],
    "picname": [""]
    }

  10. 小兰说道:
    Google Chrome Windows 10

    测试失败
    返回结果
    [Errno 2] No such file or directory: 'conf.json'

    这个怎么回事吖 萌新跟着教程走的

  11. 小兰说道:
    Google Chrome Windows 10

    我配置了那个json 还是不得行

    1. tianle tianle说道:
      Google Chrome Windows 10

      json是什么样子的....?

      1. 小兰说道:
        Google Chrome Windows 10

        {
        "username": [""],
        "passwd": [""],
        "SCKEY": [""],
        "name": [""],
        "address": [""],
        "latitude": ["32.2829260000"],
        "longitude": ["43.9237990000"],
        "picname": [""]
        }

        就是这个啊 是不是没配置好啊

        1. tianle tianle说道:
          Google Chrome Windows 10

          用户名和密码填了么??

          1. 小兰说道:
            Google Chrome Windows 10

            只填了这两项

          2. tianle tianle说道:
            Google Chrome Windows 10

            是手机号和密码么?

          3. 小兰说道:
            Google Chrome Windows 10

            是的 就是超星的账号密码

          4. tianle tianle说道:
            Google Chrome Windows 10

            账号确定是手机号?
            报错信息呢?.....

          5. 小兰说道:
            Google Chrome Windows 10

            [Errno 2] No such file or directory: 'conf.json' 报错信息是这个

          6. tianle tianle说道:
            Google Chrome Windows 10

            好像是我的问题
            你把config.json改成conf.json....

          7. 小兰说道:
            Google Chrome Windows 10

            改了之后 也报错
            Traceback (most recent call last):

            File "/var/user/index.py", line 224, in main_handler

            CxSign.subject(m)

            File "/var/user/index.py", line 71, in subject

            cdata = json.loads(res.text)

            File "/var/lang/python3/lib/python3.6/json/__init__.py", line 354, in loads

            return _default_decoder.decode(s)

            File "/var/lang/python3/lib/python3.6/json/decoder.py", line 339, in decode

            obj, end = self.raw_decode(s, idx=_w(s, 0).end())

            File "/var/lang/python3/lib/python3.6/json/decoder.py", line 357, in raw_decode

            raise JSONDecodeError("Expecting value", s, err.value) from None

            json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

          8. tianle tianle说道:
            Google Chrome Windows 10

            方便的话加我下QQ,把账号密码发我试试.......
            QQ:2846021566

          9. 小兰说道:
            Google Chrome Windows 10

            🆗

  12. sfkajgifja说道:
    Google Chrome Windows 10

    START RequestId: a913ee70-1218-4e10-97e8-4692343dd1fe

    Event RequestId: a913ee70-1218-4e10-97e8-4692343dd1fe

    获取配置成功

    运行于云函数模式

    Starting new HTTPS connection (1): passport2-api.chaoxing.com:443

    https://passport2-api.chaoxing.com:443 "POST /v11/loginregister HTTP/1.1" 200 108

    用户: 0 获取cookie成功

    Starting new HTTP connection (1): mooc1-api.chaoxing.com:80

    http://mooc1-api.chaoxing.com:80 "GET /mycourse/backclazzdata HTTP/1.1" 200 None

    2020-05-07 10:08:55 用户: 0 正在查询课程: usjsjsj

    Starting new HTTPS connection (1): mobilelearn.chaoxing.com:443

    https://mobilelearn.chaoxing.com:443 "GET /ppt/activeAPI/taskactivelist?courseId=212401221&classId=27037669&uid=109014855 HTTP/1.1" 200 None

    2020-05-07 10:08:55 [签到] usjsjsj 查询到待签到活动 活动名称:手势签到 活动状态: 活动时间: aid:232837440

    END RequestId: a913ee70-1218-4e10-97e8-4692343dd1fe

    Report RequestId: a913ee70-1218-4e10-97e8-4692343dd1fe Duration:3000ms Memory:128MB MemUsage:20.3828MB

    这是什么错误啊,大佬

    1. tianle tianle说道:
      Google Chrome Windows 10

      去提issue,blog太难用了,,,,

      1. sfkajgifja说道:
        Google Chrome Windows 10

        e

      2. sfkajgifja说道:
        Google Chrome Windows 10

        我知道了,我的时间没改

  13. Moichi说道:

    返回结果
    Traceback (most recent call last):

    File "/var/user/index.py", line 247, in main_handler

    CxSign.subject(m)

    File "/var/user/index.py", line 75, in subject

    cdata = json.loads(res.text)

    File "/var/lang/python3/lib/python3.6/json/__init__.py", line 354, in loads

    return _default_decoder.decode(s)

    File "/var/lang/python3/lib/python3.6/json/decoder.py", line 339, in decode

    obj, end = self.raw_decode(s, idx=_w(s, 0).end())

    File "/var/lang/python3/lib/python3.6/json/decoder.py", line 357, in raw_decode

    raise JSONDecodeError("Expecting value", s, err.value) from None

    json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

    1. tianle tianle说道:
      WebView Android 10

      云函数地区是啥?

      1. Moichi说道:

        广州,腾讯云的

        1. tianle tianle说道:
          WebView Android 10

          看文章开头

          1. Moichi说道:

            哎呀,难怪了,谢谢,我这就去搞

  14. Suyize说道:
    Google Chrome Windows 10

    Process exited before completing request
    测试失败显示这个

    1. tianle tianle说道:
      Google Chrome Windows 10

      时间设置的太短了?

      1. Suyize说道:
        Google Chrome Windows 10

        没,设置的是十分钟的0 */10 8-22 * * * *,是不是我源码放错了,我放的是GitHub根目录下面的两个

        1. tianle tianle说道:
          Google Chrome Windows 10

          函数运行时间呢?....

          1. Suyize说道:
            Google Chrome Windows 10

            这个不知道好像是源码里面默认的,不知道在哪看...

          2. tianle tianle说道:
            Google Chrome Windows 10

            把文章看完......

          3. Suyize说道:
            Google Chrome Windows 10

            修改完了又变了,,,{"errorCode":-1,"errorMessage":"User process exit when running"}

          4. tianle tianle说道:
            Google Chrome Windows 10

            截图看看

  15. Suyize说道:
    Google Chrome Windows 10

    返回结果
    {"errorCode":-1,"errorMessage":"User process exit when running"}

    执行摘要
    请求ID
    f09f802d-036d-4ada-80b2-e2466e045e12
    运行时间
    699ms
    计费时间
    699ms
    运行内存
    30.82421875MB
    执行日志

    START RequestId: f09f802d-036d-4ada-80b2-e2466e045e12

    Event RequestId: f09f802d-036d-4ada-80b2-e2466e045e12

    未找到配置文件

    软件退出

    ERROR RequestId:f09f802d-036d-4ada-80b2-e2466e045e12 Result:{"errorCode":-1,"errorMessage":"User process exit when running"}

    END RequestId: f09f802d-036d-4ada-80b2-e2466e045e12

    Report RequestId: f09f802d-036d-4ada-80b2-e2466e045e12 Duration:699ms Memory:128MB MemUsage:30.824219MB

    1. tianle tianle说道:
      Google Chrome Windows 10

      未找到配置文件????

      1. Suyize说道:
        Microsoft Edge Windows 10

        我都按照步骤来了,都不差东西...我不知道这是为啥的

        1. tianle tianle说道:
          Google Chrome Windows 10

          按照步骤怎么可能会有问题?...截图

          1. tianle tianle说道:
            Google Chrome Windows 10

            用根目录下的

          2. Suyize说道:
            Google Chrome Windows 10

            https://bj.bcebos.com/im-cs/92317a84e32b75217bdc793eb84bed29.jpg
            用的是就是这个

          3. tianle tianle说道:
            Google Chrome Windows 10

          4. Suyize说道:
            Google Chrome Windows 10

            十分感谢,刚刚又出现个问题,把json的内容换了一下就可以用了

          5. tianle tianle说道:
            Google Chrome Windows 10

            那就好...

          6. Suyize说道:
            Google Chrome Windows 10

            想说个建议就是,可以在Server提示里面添加一个签到的类型显示,个人觉得这样比较好一点 :kuanghan:

          7. tianle tianle说道:
            Google Chrome Windows 10

            这个判断签到类型有点难...而且我开学了不用这个东西了.....

          8. Suyize说道:
            Google Chrome Windows 10

            好嘞,我直接看到一个的云函数,几句话,好像调用api接口的,就有这些东西

          9. tianle tianle说道:
            Google Chrome Windows 10

            emmm,有空抄一下

  16. 晓轩说道:
    Google Chrome Windows 10

    list indices must be integers or slices, not str
    这是咋回事呀 :lei:

    1. tianle tianle说道:
      Google Chrome Mac OS X 10.15.2

      你的配置给我kk。。。

      1. 晓轩说道:
        Google Chrome Windows 10

        Traceback (most recent call last):

        File "/var/user/index.py", line 247, in main_handler

        CxSign.subject(m)

        File "/var/user/index.py", line 75, in subject

        cdata = json.loads(res.text)

        File "/var/lang/python3/lib/python3.6/json/__init__.py", line 354, in loads

        return _default_decoder.decode(s)

        File "/var/lang/python3/lib/python3.6/json/decoder.py", line 339, in decode

        obj, end = self.raw_decode(s, idx=_w(s, 0).end())

        File "/var/lang/python3/lib/python3.6/json/decoder.py", line 357, in raw_decode

        raise JSONDecodeError("Expecting value", s, err.value) from None

        json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

        变成这个啦 :lei:

        1. tianle tianle说道:
          Google Chrome Mac OS X 10.15.2

          函数地区是?

          1. 晓轩说道:
            Google Chrome Windows 10

            上海

          2. tianle tianle说道:
            Google Chrome Mac OS X 10.15.2

            换香港试试

          3. 晓轩说道:
            Google Chrome Windows 10

            试过了,北京,成都都不行

          4. tianle tianle说道:
            Google Chrome Mac OS X 10.15.2

            配置文件kk

          5. 晓轩说道:
            Google Chrome Windows 10

            {
            "username": ["11111111111"],
            "passwd": ["123456"],
            "SCKEY": [""],
            "name": [""],
            "address": [""],
            "latitude": ["32.2829260000"],
            "longitude": ["43.9237990000"],
            "picname": [""]
            }

            这个?

          6. tianle tianle说道:
            Google Chrome Mac OS X 10.15.2

          7. 晓轩说道:
            Google Chrome Windows 10

            然后呢,咋办?

          8. tianle tianle说道:
            Google Chrome Mac OS X 10.15.2

            腾讯云函数界面,报错的整个截图

          9. 晓轩说道:
            Google Chrome Windows 10

            加你QQ了,QQ聊吧

        2. 晓轩说道:
          Google Chrome Windows 10

          然后呢咋办?

发表评论

电子邮件地址不会被公开。必填项已用 * 标注