利用阿里云的函数计算实现百度贴吧免费定时签到
程序员文章站
2022-03-26 14:09:51
...
解放双手的时间到了。
先说下什么是函数计算
函数计算(Function Compute)是一个事件驱动的全托管 Serverless 计算服务。您无需管理服务器等基础设施,只需编写代码并上传。函数计算会为您准备好计算资源,并以弹性、可靠的方式运行您的代码。
1,点击进入函数计算入口
进入函数计算控制台
2,创建服务函数并执行
创建事件函数
填写函数运行环境(服务名字唯一,提示已经存在请改名)
编写函数
# -*- coding: utf8 -*-
from requests import Session
from time import sleep
def handler(*args):
# 数据
like_url = 'https://tieba.baidu.com/mo/q/newmoindex?'
sign_url = 'http://tieba.baidu.com/sign/add'
tbs = '4fb45fea4498360d1547435295'
head = {
'Accept': 'text/html, */*; q=0.01',
'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',
'Connection': 'keep-alive',
'Cookie': '(这里是自己的百度cookie,获取方法自己百度)',
'Host': 'tieba.baidu.com',
'Referer': 'http://tieba.baidu.com/i/i/forum',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/71.0.3578.98 Safari/537.36',
'X-Requested-With': 'XMLHttpRequest'}
s = Session()
# 获取关注的贴吧
bars = []
dic = s.get(like_url, headers=head).json()['data']['like_forum']
for bar_info in dic:
bars.append(bar_info['forum_name'])
# 签到
already_signed_code = 1101
success_code = 0
need_verify_code = 2150040
already_signed = 0
succees = 0
failed_bar = []
n = 0
while n < len(bars):
sleep(0.5)
bar = bars[n]
data = {
'ie': 'utf-8',
'kw': bar,
'tbs': tbs
}
try:
r = s.post(sign_url, data=data, headers=head)
except Exception as e:
print(f'未能签到{bar}, 由于{e}。')
failed_bar.append(bar)
continue
dic = r.json()
msg = dic['no']
if msg == already_signed_code:
already_signed += 1; r = '已经签到过了!'
elif msg == need_verify_code:
n -= 1; r = '需要验证码,即将重试!'
elif msg == success_code:
r = f"签到成功!你是第{dic['data']['uinfo']['user_sign_rank']}个签到的吧友,共签到{dic['data']['uinfo']['total_sign_num']}天。"
else:
r = '未知错误!' + dic['error']
print(f"{bar}:{r}")
succees += 1
n += 1
l = len(bars)
failed = "\n失败列表:" + '\n'.join(failed_bar) if len(failed_bar) else ''
print(f'''共{l}个吧,其中: {succees}个吧签到成功,{len(failed_bar)}个吧签到失败,{already_signed}个吧已经签到。{failed}''')
运行上面代码
查看执行日志
3,创建触发器(每天凌晨一点执行)
4,收费情况
有两种付费方式一种按量收费,一种包年包月,详细情况请阅读文档
可以放心的是每个月有免费额度
到此完成,静等每天签到即可。
然而云函数的用法不止如此,感兴趣的小伙伴可以去看官方文档以及最佳实践,有疑问的小伙伴可以留言或者添加左侧微信。
附:最佳实践
下一篇: Python之while循环