吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6546|回复: 12
收起左侧

[Python 原创] 【Python】学习通自动讨论点赞·全部课程·防检测·官方接口

  [复制链接]
Pastwill 发表于 2022-3-24 18:44
本帖最后由 Pastwill 于 2022-3-25 09:35 编辑

一.前言


脚本用于学习通课程讨论点赞

如若认为有些用处请给予回复与评分,欢迎指出不足缺点,共同进步。

仅做个人学习使用,严禁用于其他用途。

二.开发环境


windows 10 Python 3.6 x86

三.调用模块


[Python] 纯文本查看 复制代码
from asyncio.windows_events import NULL
import requests
import json
import time
import os
import re
import random
from lxml import etree



四.代码



[Python] 纯文本查看 复制代码
from asyncio.windows_events import NULL
import requests
import json
import time
import os
import re
import random
from lxml import etree
import sys
#用户区开始
name=""#用户名,必填
passwd=""#密码,必填
#用户区结束
#全局区开始
okcookie={}#经过验证的cookie
dianzan=[]
headers = {'User-Agent': 'Dalvik/2.1.0 (Linux; U; Android 11; M2007J3SC Build/RKQ1.200826.002) (device:M2007J3SC) Language/zh_CN com.chaoxing.mobile/ChaoXingStudy_3_5.1.3_android_phone_613_74 '}#超星app原生ua
#全局区结束
def restart_program():#重启
    python = sys.executable
    os.execl(python, python, * sys.argv)
#第一个函数 实现登录,验证cookie,保存cookie,获取cookie各功能
def login():#使用超星app登录api,测试多次获取没遇到过验证,比较稳定
    print("登录模块启动")
    data = {'uname': name,'code': passwd,'loginType': '1','roleSelect': 'true'}
    r = requests.post('https://passport2-api.chaoxing.com/v11/loginregister', headers=headers, data=data)
    load_cookies = requests.utils.dict_from_cookiejar(r.cookies)
    #转换为字符串保存到文件
    fo = open("cookie.txt", "w")
    fo.write(str(json.dumps(load_cookies)))
    print("cookie保存成功")
    fo.close()
    print("重启程序")
    restart_program()
#第二个函数 实现验证cookie,如果失效便启动再次登录获取新cookie
def cookie_check():
    if os.path.exists("cookie.txt") == True:
        f=open('cookie.txt','r',encoding="utf-8")
        dic = json.loads(f.read())
        response = requests.get('https://mooc1-api.chaoxing.com/mycourse/backclazzdata', headers=headers,cookies=dic)
        if '成功' in response.text:
                return [True,dic,dic['UID']]
                #get_class()
        else:
            print("cookie好像失效了,启动重新获取")
            login()
    else:
        print("未找到cookie文件呀启动登录")
        login()
def get_active_one():
    print("已经开始获取所有讨论topicId")
    html = etree.HTML(requests.get('http://mooc1-1.chaoxing.com/visit/courses', headers=headers, cookies= okcookie).text)
    cla =html.xpath("/html/body/div/div[2]/div[3]/ul/li/div/h3/a/@href")              
    for i in cla:
        b='https://mooc1-1.chaoxing.com'+str(re.findall(re.compile(r'href="(.*?)" title="讨论">'),requests.get('https://mooc1-1.chaoxing.com'+str(i), headers=headers, cookies= okcookie).text)[0])
        time.sleep(random.randint(120,240))
        if '<li class="sturep"><a href="javascript:;" ' not in requests.get(b, headers=headers, cookies= okcookie).text:
            continue
        #if '<span class="danwei">03-' not in requests.get(b, headers=headers, cookies= okcookie).text:
        #    continue这个可以用来判断是不是新的讨论和这个课程是不是新的课程有需要的可以自行改动
        a =re.findall(re.compile(r'&topicid=(.*?)&'),requests.get(b, headers=headers, cookies= okcookie).text)
        for i in a:
            dianzan.append(i)
        time.sleep(random.randint(120,240))
def dianzanba(topicId):
    data = {'topicId': topicId}
    print(requests.post('https://mooc1.chaoxing.com/bbscircle/addpraise', headers=headers, data=data,cookies= okcookie).text)
if __name__ == '__main__':
    if cookie_check()[0] ==True:
        print("cookie检测成功")
        okcookie=cookie_check()[1]
        uid=cookie_check()[2]
        get_active_one()
        print("开始点赞")
        for i in dianzan:
            time.sleep(random.randint(120,240))
            dianzanba(i)
    

免费评分

参与人数 5吾爱币 +3 热心值 +5 收起 理由
MAOSKE + 1 谢谢@Thanks!
lxyfy + 1 我很赞同!
tianyue + 1 + 1 感谢大佬
asd55555 + 1 + 1 热心回复!
qhy210403250146 + 1 + 1 (null)

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

asd55555 发表于 2022-3-24 20:10
直接复制到python上运行?
 楼主| Pastwill 发表于 2022-3-24 20:20
bqiaofeng 发表于 2022-3-24 21:21
cmccml 发表于 2022-3-24 21:41
收藏了,感谢大佬!
xgywws 发表于 2022-3-24 22:07
这个有什么用?
 楼主| Pastwill 发表于 2022-3-25 10:24
xgywws 发表于 2022-3-24 22:07
这个有什么用?

有用的自然有用,没用的有用也没用
XHaiipi 发表于 2022-9-5 21:54
收藏了,感谢大佬!
lingyu0628 发表于 2022-9-23 06:36
cookie好像失效了,启动重新获取
登录模块启动
cookie保存成功
重启程序
Nikke 发表于 2022-10-13 16:28
大佬,这样就运行了吗?
但好像没有效果啊
1.jpg.png
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 22:11

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表