学习通代码实现提交评论

Posted MirrorML

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习通代码实现提交评论相关的知识,希望对你有一定的参考价值。

代码实现学习通提交讨论

由于某些学习通课程的成绩由不同的成分组成,上次分享了一下关于增加学习次数的方法,这次分享关于增加讨论量的方法。

分析

我们只需要清楚一次讨论的建立,便能做到建立N次讨论。

1.进入一门课程,打开开发者工具。
在这里插入图片描述

2.输入讨论数据,点击发布进行捕捉。

我们发现对"https://mooc1-1.chaoxing.com/bbscircle/grouptopic/publish"的post请求方式完成了一次讨论的建立。

在这里插入图片描述

3.认真观察并分析提交参数

模拟POST请求通常会用到 Request Headers 和 Form Data

在这里插入图片描述

通常Form Data需要完全模拟,Request Headers通常需要Cookie、Referer、Origin、User-Agent、Host这几个参数,如果不行的话,最好进行全部模拟。

Python代码实现

headers中的数据和data中的数据需要根据你们捕捉的数据进行更改。

import requests
'''
 * @author jmm
 * @version 1.0
 * @date 2021/4/14 11:45
 * @email 2867405686@qq.com
'''
headers={
    'Accept': '*/*',
    'Accept-Encoding': 'gzip, deflate, br',
    'Accept-Language': 'zh-CN,zh;q=0.9',
    'Connection': 'keep-alive',
    'Content-Length': '176',
    'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
    #更改cookie
    'Cookie': '',
    'Host': 'mooc1-1.chaoxing.com',
    'Origin': 'https://mooc1-1.chaoxing.com',
    'Referer': '',
    'sec-ch-ua': '"Google Chrome";v="89", "Chromium";v="89", ";Not A Brand";v="99"',
    'sec-ch-ua-mobile': '?0',
    'Sec-Fetch-Dest': 'empty',
    'Sec-Fetch-Mode': 'cors',
    'Sec-Fetch-Site': 'same-origin',
    'User-Agent': '',
    'X-Requested-With': 'XMLHttpRequest'
}

data={
    #更改标题
    'title':'新时代',
    #更改班级
    'clazzid': '',
    #更改课程ID
    'courseId': '',
    'ut': 's',
    'folderId':'',
    'folderName':'',
    'attachmentFile':'',
    'chooseClazzId': '39803102',
    'cpi': '95638364',
    'openc': '7b53e2a34f822ea28eba1bc1422aedbf',
    #更改内容
    'content': '中国特色社会主义新时代,是承前启后、继往开来、在新的历史条件下继续夺取中国特色社会主义伟大胜利的时代,是决胜全面建成小康社会、进而全面建设社会主义现代化强国的时代,是全国各族人民团结奋斗、不断创造美好生活、逐步实现全体人民共同富裕的时代,是全体中华儿女勠力同心、奋力实现中华民族伟大复兴中国梦的时代,是我国日益走近世界舞台中央、不断为人类作出更大贡献的时代。',
    'file':''
}

url='https://mooc1-1.chaoxing.com/bbscircle/grouptopic/publish'
#for循环控制提交次数
for i in range(203,303):
    data = {
       #更改标题
        'title':'新时代'+str(i),
        #更改班级
        'clazzid': '',
        #更改课程ID
        'courseId': '',
        'ut': 's',
        'folderId':'',
        'folderName':'',
        'attachmentFile':'',
        'chooseClazzId': '39803102',
        'cpi': '95638364',
        'openc': '7b53e2a34f822ea28eba1bc1422aedbf',
        #更改内容
        'content': '中国特色社会主义新时代,是承前启后、继往开来、在新的历史条件下继续夺取中国特色社会主义伟大胜利的时代,是决胜全面建成小康社会、进而全面建设社会主义现代化强国的时代,是全国各族人民团结奋斗、不断创造美好生活、逐步实现全体人民共同富裕的时代,是全体中华儿女勠力同心、奋力实现中华民族伟大复兴中国梦的时代,是我国日益走近世界舞台中央、不断为人类作出更大贡献的时代。',
        'file':''
    }
    requests.post(url=url,data=data,headers=headers)

以上是关于学习通代码实现提交评论的主要内容,如果未能解决你的问题,请参考以下文章

[Django学习]Django基础(15)_ajax的评论提交

为啥此代码片段返回意外结果?

js模拟点击事件实现代码

动态 Rstudio 代码片段

类朋友圈评论视图Dialog实现

PHP必用代码片段