小编能力有限,本文纯属瞎编,如有雷同,你去打辅导员涩

一.前戏

有个操蛋,操蛋,操蛋的辅导员促使小编成长,原因:易班需要活跃度,辅导员安排班上每个人必须去易班上 写文章,写评论,发投票...  我觉得辅导员肯定小瞧我们了,我们班像好好刷易班的人嘛。

结果就鸡儿了涩,都没去发。直接导致辅导员强行安排(早上6.50格老子全班跑操,跑到易班活跃度足够为止!!!), 不要问我那个学校的,厂长也不是我表哥

二.话不多说,上码

模块:requests,re, rsa,pycryptodemo,base64,json, jsonpath

import requests

import re

import rsa

import time

from Crypto.PublicKey import RSA

import base64

import json

import jsonpath

person = requests.Session()

cookies = person.cookies.get_dict() # cookies

person.headers = {

"Accept": "application/json, text/javascript, */*; q=0.01",

"Accept-Encoding": "gzip, deflate, br",

"Accept-Language": "zh-CN,zh;q=0.9",

"Connection": "keep-alive",

"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",

# "Host": "q.yiban.cn",

"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 "

"(KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36"

}

user = "你自己的"

password = "你自己的"

# 登录易班

def login(user, password):

login_page_url = "https://www.yiban.cn/login"

login_page_res = person.get(url=login_page_url)

# print(login_page_res.text)

# 获取公钥并加密

public_key = re.findall(r"BEGIN PUBLIC KEY-----\sM(.*)-----END PUBLIC KEY", login_page_res.text, re.S)[0]

public_key = '-----BEGIN PUBLIC KEY-----\nM' + public_key + '-----END PUBLIC KEY-----'

print(public_key)

rsa_key = RSA.importKey(public_key)

x = rsa.encrypt(password.encode(), rsa_key)

rsa_pass = base64.b64encode(x).decode()

print(rsa_pass)

# 获取时间戳

keys_time = re.findall(r"data-keys-time='(.*?)'", login_page_res.text)[0]

print(keys_time)

check_in = captcha()

# random = time.time()

# random = round(random, 2) # 只取两位小数

# 登录易班

login_url = "https://www.yiban.cn/login/doLoginAjax"

login_data = {

"account": user,

"password": rsa_pass,

"captcha": check_in,

"keysTime": keys_time

}

login_res = person.post(url=login_url, data=login_data, cookies=cookies)

print('登录结果')

print(login_res)

# 获取登录结果

getlogin_url = "http://www.yiban.cn/ajax/my/getLogin"

getlogin_data = {

"": ""

}

getlogin_res = person.post(url=getlogin_url, data=getlogin_data)

print(getlogin_res)

getlogin_res_content = getlogin_res.json()

print(getlogin_res_content)

# messages = person.post(url='http://www.yiban.cn/forum/article/listAjax',data=login_data)

# print(messages.text)

def captcha(): # 图片验证码

captcha_check_url = "https://www.yiban.cn/captcha/index?Tue%20Dec%2004%202018%2000:01:2" \

"6%20GMT+0800%20(%E4%B8%AD%E5%9B%BD%E6%A0%87%E5%87%86%E6%97%B6%E9%97%B4)"

captcha_check_respond = person.get(url=captcha_check_url)

print(captcha_check_respond)

captcha_content = captcha_check_respond.content # 转换类型

fb = open('captcha.jpg', 'wb') # 把字节类型转换为图片文件

fb.write(captcha_content)

fb.close()

check_in = input("请输入图片验证码>>>:")

return check_in

def get_article_id(): # 获取文章id

json_data_list = {

"channel_id": 281421,

"puid": 7245623,

"page": 1,

"size": 10,

"orderby": "updateTime",

"Sections_id": -1,

"need_notice": 0,

"group_id": 457740,

"my": 0,

# "lastId": 76305563

}

res = person.post(url="http://www.yiban.cn/forum/article/listAjax", data=json_data_list)

# 获取json数据

json_list0 = res.json()

# 数据筛选

article_list = jsonpath.jsonpath(json_list0, '$..id')

# jsonpath文档https://www.cnblogs.com/aoyihuashao/p/8665873.html

# print(json_list0)

return article_list

def good(): # 点赞

article_id = get_article_id()

for i in range(0, 20, 2):

print(article_id[i])

article_data = {

"article_id": article_id[i],

"channel_id": 281421,

"puid": 7245623

}

good_res = person.post(url="http://www.yiban.cn/forum/article/upArticleAjax", data=article_data, headers={

'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36',

'Accept': 'application/json, text/javascript, */*; q=0.01',

'Accept-Language': 'zh-CN,zh;q=0.9',

})

print(good_res)

def comment(): # 评论

article_id = get_article_id()

for i in range(0, 20, 2):

print(article_id[i])

article_data = {

"channel_id": 281421,

"puid": 7245623,

"article_id": article_id[i],

"content": "i'm robot",

"reply_id": 0,

"syncFeed": 1,

"isAnonymous": 0

}

good_res = person.post(url="http://www.yiban.cn/forum/reply/addAjax", data=article_data, cookies=cookies,

headers={

'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36',

'Accept': 'application/json, text/javascript, */*; q=0.01',

'Accept-Language': 'zh-CN,zh;q=0.9',

})

print(good_res)

def change_page(aid, func): # 翻页

for i in range(0, 20):

json_data_list = {

"channel_id": 281421,

"puid": 7245623,

"page": i,

"size": 10,

"orderby": "updateTime",

"Sections_id": -1,

"need_notice": 0,

"group_id": 457740,

"my": 0,

"lastId": 76287511

}

res = person.post(url="http://www.yiban.cn/forum/article/listAjax", data=json_data_list)

# 获取json数据

json_list0 = res.json()

# 数据筛选

article_list = jsonpath.jsonpath(json_list0, '$..id')

# jsonpath文档https://www.cnblogs.com/aoyihuashao/p/8665873.html

print(json_list0)

def article_add():

article_data = {

"puid": 7245623,

"pubArea": 457740,

"title": "test",

"content": "

this is robot auto article!!!!!

",

"isNotice": "false",

"dom": ".js-submit"

}

article_data_res = person.post(url="http://www.yiban.cn/forum/article/addAjax", data=article_data, headers={

'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36',

'Accept': 'application/json, text/javascript, */*; q=0.01',

'Accept-Language': 'zh-CN,zh;q=0.9',

}

)

print(article_data_res)

def vote(): # 投票

vote_data = {

"puid": 7245623,

"scope_ids": 457740,

"title": "title",

"subjectTxt": None,

"subjectPic": None,

"options_num": 3,

"scopeMin": 1,

"scopeMax": 1,

"minimum": 1,

"voteValue": "2019-05-21 13:15",

"voteKey": 2,

"public_type": 0,

"isAnonymous": 1,

"voteIsCaptcha": 0,

"istop": 1,

"sysnotice": 2,

"isshare": 1,

"rsa": 1,

"dom": " .js-submit",

"group_id": 457740,

"subjectTxt_1": "vote1--",

"subjectTxt_2": "vote2",

"subjectTxt_3": "vote3"

}

vote_data_res = person.post(url="http://www.yiban.cn/vote/vote/add", data=vote_data)

print(vote_data_res)

if __name__ == '__main__':

login(user, password)

for i in range(0, 20):

article_add()

good()

# for i in range(1, 5):

# vote()

# time.sleep(1)

注:未完待续...

ps:如果你看到这儿了,说明你已经入土了

python自动点赞软件_python requests 简单实现易班登录,自动点赞,评论,发表相关推荐

  1. python做图片美化_Python实现简单的照片磨皮(照片智能磨皮) 最新免费版

    Python实现简单的照片磨皮(照片智能磨皮)是一款用python写的最好的照片磨皮软件.需要配置opencv和numpy,使用的时候地址需要加英文的引号,斜杠要用双斜杠,例如"D:\\a. ...

  2. python绘制蚊香形_Python requests发送post请求的一些疑点

    前言 在Python爬虫中,使用requests发送请求,访问指定网站,是常见的做法.一般是发送GET请求或者POST请求,对于GET请求没有什么好说的,而发送POST请求,有很多朋友不是很清楚,主要 ...

  3. python批量自动订票_python+splinter实现12306网站刷票并自动购票流程

    python+splinter实现12306网站刷票并自动购票流程 通过python+splinter,实现在12306网站刷票并自动购票流程(无法自动识别验证码). 此类程序只是提高了12306网站 ...

  4. python打开qq并登录_Python脚本简单实现打开默认浏览器登录人人和打开QQ的方法...

    本文实例讲述了Python脚本简单实现打开默认浏览器登录人人和打开QQ的方法.分享给大家供大家参考,具体如下: 每天打开电脑第一件事应该就是打开人人刷一下,然后登上QQ.每次都这样很麻烦,于是写了一个 ...

  5. python可以开发软件_python可以开发软件吗

    python可以开发软件吗? python当然可以开发软件,Python的主要用途之一就是软件开发. 1.基于控制台的应用程序 Python可用于开发基于控制台的应用程序. 例如:IPython. 2 ...

  6. python图片压缩软件_Python照片压缩

    Python照片压缩软件是一款功能强大且实用的图片压缩工具,能够帮助用户自动调整各种图像的尺寸,还能压够缩图片大小,帮助我们更好地处理各种图像问题,Python照片压缩用Python语言写成,所以问题 ...

  7. python编程入门软件_python编程入门

    python编程是一款技术专业的编程入门学习App,着眼于协助新手入门及提高程序猿开发高效率,现阶段已提供1000 普遍编程语言实例教程和完全免费技术资料,包含前端开发开发/Python/Java/P ...

  8. delete可以传body吗_最简单的易班打卡脚本!可以自动打卡了

    易班web自动化打卡脚本 一直以来,易班打卡被称为最鸡肋,最浪费时间,最浪费纳税人钱财的表面工程,那么如何解决这一问题,已成为现在高校大学生的急需思考的大问题.那这一次我就来谈谈我是怎么解决这一问题的 ...

  9. python 微博自动点赞软件_Python微博工具人,每日一句英语自动发

    原标题:Python微博工具人,每日一句英语自动发 关注 来源 | 萝卜大杂烩(ID:luobodazahui) 如若转载请联系原公众号 最近在研究用 Python 来制作各个类别的机器人,今天先来分 ...

最新文章

  1. Flask框架(1.flask概述,Windows配置 virtualenv虚拟环境步骤和路由以及视图函数的定义)
  2. boost::geometry模块自定义指针到点示例
  3. 使用sklearn进行数据预处理 —— 归一化/标准化/正则化
  4. sqlite数据库的char,varchar,text,nchar,nvarchar,ntext的区别
  5. 使用Java 8防止日志过宽
  6. 链表_有序链表(给数组排序-应用)
  7. 厂商 push 不通排查指南
  8. java--类型擦除
  9. 计算机第二章测试题及答案,计算机组成原理第二章练习题及答案
  10. 傅里叶变换、拉普拉斯变换、Z 变换的联系是什么?为什么要进行这些变换?
  11. 叶俊:能量获取的秘籍-奇文
  12. 关于bitcoin core钱包api
  13. 抖音一个好的标题让你轻松上热门,该怎么写好抖音标题。
  14. matlab 梯度 什么意思,浅谈Matlab中的梯度(gradient)
  15. 软件版本—— Alpha、Beta、RC版本的区别
  16. 如何解决Maven依赖冲突
  17. 各种软件下载(网址)
  18. python+POP3 批量下载邮件附件
  19. 【Python 初学者】从零开始构建自己的神经网络
  20. solaris10-切换用户时自动输入密码

热门文章

  1. 口碑极好的SAP PP培训视频, 21G, 52个视频
  2. 标注 画框 转写,亲亲,你做错了没?
  3. codeforces 581B Luxurious Houses(线段树点更新,区间查询)
  4. 批量获取指定文件夹下,多个同结构excel表固定位置的内容,并保存
  5. 关于流程管理的这些事:项目流程及方法工具
  6. 小米红米Note12,11,Pro系列安装谷歌套件谷歌服务框架GMS,Google Play商店
  7. 电脑端10大图片处理类神器
  8. 六自由度机器人(机械臂)运动学建模及运动规划系列(三)——机器人建模及运动学分析的Matlab仿真
  9. 【Dubbo】序列化异常—— com.esotericsoftware.kryo.KryoException: Buffer underflow
  10. JDK11下J2Cache序列化器反射异常及--illegal-access解决方案