12下一页
返回列表 发新帖

听说耗子更新教程了???(云函数配合server酱)

[复制链接]

53

主题

1945

帖子

6064

积分

硕士生

萌新

Rank: 6Rank: 6

金币
937
好评
40
贡献
0

考神MT论坛帅哥MT论坛最佳新人MT论坛活跃会员

QQ
发表于 2020-10-3 14:16:05 | 显示全部楼层 | 阅读模式
本帖最后由 正己 于 2020-10-3 14:40 编辑

本教程是利用白嫖的老马的云函数搭配server酱实现帖子更新自动推送至微信主要是最近来论坛的时间也越来越少了,于是就写了这么一个脚本,这个昨天晚上就写好了,经过一晚上的测试没有问题
这里以耗耗为例@耗子爱吃草 ,当然也可以选择其他人,比如久情姐姐,涛涛,狗狗,牛牛等等,使用的方法也很简单,代码也不多,需要修改的地方只有四处,我会在代码里写出来。
其中的url选择你收听的人的主题然后复制链接替换就可以了,server酱的key自己去申请。
还有关于云函数的部署可以参考论坛发过的的帖子,这里需要注意的就是把执行方法改成

看一下效果:
    import urllib.request
    import http.cookiejar
    import re
    import datetime
    import requests
    skey = '申请的server酱的key'
    def push():
        server_url = "https://sc.ftqq.com/%s.send" % skey
        title = main()
        params = {
            "text": '爷,您关注的帖子更新啦!', #server酱提示的标题可自行修改
            "desp": title    ##server酱提示的内容可自行修改
        }
        response = requests.get(server_url, params=params)
        json_data = response.json()
        if json_data['errno'] == 0:
            print(" 推送成功。")
        else:
            print("推送失败")
    def main(*args):
        form = {'formhash': '',
                'referer': 'https://bbs.binmt.cc/forum.php',
                'loginfield': 'username',
                'username': '你的账号',
                'password': '你的密码',
                'questionid': '0',
                'answer': ''}
        headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3562.0 Safari/537.36'}
        loginURL = "https://bbs.binmt.cc/member.php?mod=logging&action=login"
        query = "&loginsubmit=yes&handlekey=login&loginhash=xxx&inajax=1"

        """为什么刚开始就直接使用带Cookie的opener呢,经过测试,在打开登录界面的时候,服务器就会向客户端发送3个Cookie,这些Cookie同样有验证作用,如果不带上,那么登录的时候,服务器会返回,含有非法字符,无法登录"""
        cookie = http.cookiejar.CookieJar()
        opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cookie))
        req = urllib.request.Request(loginURL, headers=headers)
        resp = opener.open(req)
        s = resp.read().decode('gb2312', errors='ignore')
        # 获取登录界面的Hash值
        formhash = re.findall('value="(.*?)"><input', s)[0]
        loginhash = re.findall('loginhash=(.*?)">', s)[0]
        form['formhash'] = formhash
        post_form = urllib.parse.urlencode(form).encode('UTF-8')
        req = urllib.request.Request(loginURL + query, headers=headers, data=post_form)
        opener.open(req)
        # 你要访问的网页
        url = 'https://bbs.binmt.cc/home.php?mod=space&uid=4666&do=thread&view=me&from=space'
        req = urllib.request.Request(url, headers=headers)
        resp = opener.open(req)
        haozi = resp.read().decode('UTF-8')
        title = re.findall('target="_blank" >(.*?)</a>', haozi)[0]
        tztime = re.findall('<span title="(.*?)">', haozi)[0]
        if tztime == []:
            print("耗耗还不快更新帖子!!!")
        else:
            d1 = datetime.datetime.strptime(tztime, '%Y-%m-%d %H:%M')  # 将字符串转化为datetime类型的时间
            print(d1)
            d2 = datetime.datetime.now() + datetime.timedelta(hours=8) # 获取当前时间(因为云函数有时区差,所以要加上8个小时)
            print(d2)
            delta = d2 - d1
            print(delta)
            if delta.days < 1 and delta.seconds <= 1800:
                print("两篇帖子相差时间为", delta.seconds, "秒")  # delta.seconds获取相差的秒数
                print("耗耗的帖子更新啦!!!")
                push()
                return title
            else:
                print("耗耗还不快更新帖子!!!")


    if __name__ == '__main__':
        main()










本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
一切内容仅供交流学习
如有侵权请联系我删帖
转载请经过我同意谢谢
回复

使用道具 举报

53

主题

1945

帖子

6064

积分

硕士生

萌新

Rank: 6Rank: 6

金币
937
好评
40
贡献
0

考神MT论坛帅哥MT论坛最佳新人MT论坛活跃会员

QQ
发表于 2020-10-3 14:16:32 | 显示全部楼层
本帖最后由 正己 于 2020-10-3 14:39 编辑

不支持markdown差评

一切内容仅供交流学习
如有侵权请联系我删帖
转载请经过我同意谢谢
回复

使用道具 举报

41

主题

1042

帖子

3731

积分

大学生

Rank: 5Rank: 5

金币
849
好评
52
贡献
0
发表于 2020-10-3 14:20:27 来自手机  | 显示全部楼层
牛牛,涛涛,狗狗还行,耗耗你也叫的出口
回复

使用道具 举报

41

主题

1042

帖子

3731

积分

大学生

Rank: 5Rank: 5

金币
849
好评
52
贡献
0
发表于 2020-10-3 14:22:27 来自手机  | 显示全部楼层
怎么不用[code]
回复

使用道具 举报

53

主题

1945

帖子

6064

积分

硕士生

萌新

Rank: 6Rank: 6

金币
937
好评
40
贡献
0

考神MT论坛帅哥MT论坛最佳新人MT论坛活跃会员

QQ
发表于 2020-10-3 14:28:00 | 显示全部楼层

用了,不过缩进有问题
一切内容仅供交流学习
如有侵权请联系我删帖
转载请经过我同意谢谢
回复

使用道具 举报

6

主题

379

帖子

1229

积分

高中生

Rank: 4

金币
438
好评
0
贡献
0
发表于 2020-10-3 14:29:58 来自手机  | 显示全部楼层
Jor 发表于 2020-10-3 14:20
牛牛,涛涛,狗狗还行,耗耗你也叫的出口

JJ
回复

使用道具 举报

75

主题

2954

帖子

1万

积分

版主

论坛萌新

Rank: 7Rank: 7Rank: 7

金币
3396
好评
172
贡献
1

考神MT论坛帅哥MT论坛活跃会员MT论坛最佳新人MT论坛侠客

QQ
发表于 2020-10-3 14:34:05 来自手机  | 显示全部楼层
可以,这很骚操作
回复

使用道具 举报

41

主题

1042

帖子

3731

积分

大学生

Rank: 5Rank: 5

金币
849
好评
52
贡献
0
发表于 2020-10-3 14:36:53 来自手机  | 显示全部楼层
ৡ人生如棋ৡ 发表于 2020-10-3 14:29
JJ

回复

使用道具 举报

0

主题

3064

帖子

2万

积分

博士后

Rank: 8Rank: 8

金币
1930
好评
5
贡献
0

考神

发表于 2020-10-3 14:38:23 来自手机  | 显示全部楼层
厉害呀,代码在哪呀
回复

使用道具 举报

53

主题

1945

帖子

6064

积分

硕士生

萌新

Rank: 6Rank: 6

金币
937
好评
40
贡献
0

考神MT论坛帅哥MT论坛最佳新人MT论坛活跃会员

QQ
发表于 2020-10-3 14:40:32 | 显示全部楼层

发了,论坛有问题,你重新刷新一下
一切内容仅供交流学习
如有侵权请联系我删帖
转载请经过我同意谢谢
回复

使用道具 举报

19

主题

583

帖子

2299

积分

大学生

小百

Rank: 5Rank: 5

金币
39
好评
65
贡献
0
QQ
发表于 2020-10-3 14:53:11 来自手机  | 显示全部楼层
耗耗可还行。
回复

使用道具 举报

3

主题

2503

帖子

5090

积分

硕士生

Rank: 6Rank: 6

金币
1005
好评
2
贡献
0
发表于 2020-10-3 15:37:18 来自手机  | 显示全部楼层
路过。。
回复

使用道具 举报

119

主题

2223

帖子

5万

积分

博士后

Rank: 8Rank: 8

金币
7169
好评
23
贡献
0

考神MT论坛最佳新人MT论坛帅哥MT论坛灌水老大

发表于 2020-10-3 16:13:29 来自手机  | 显示全部楼层
本帖最后由 常见的露比 于 2020-10-3 16:51 编辑

会Python的人不少哦,又用requests又用urllib.request的操作把我看蒙了
回复

使用道具 举报

34

主题

717

帖子

2653

积分

大学生

Rank: 5Rank: 5

金币
502
好评
26
贡献
0
QQ
发表于 2020-10-3 16:20:57 来自手机  | 显示全部楼层
厉害啊,回复看看。
回复

使用道具 举报

210

主题

2288

帖子

7329

积分

硕士生

大佬

Rank: 6Rank: 6

金币
209
好评
30
贡献
0

考神MT论坛最佳新人MT论坛帅哥MT论坛活跃会员

发表于 2020-10-3 17:09:10 来自手机  | 显示全部楼层
我看看看
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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