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

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

一.前戏

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

结果就鸡儿了涩,都没去发。直接导致辅导员强行安排(早上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:如果你看到这儿了,说明你已经入土了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值