前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >为你的好朋友添点评论

为你的好朋友添点评论

作者头像
Dreamy.TZK
发布2020-07-21 14:29:20
3930
发布2020-07-21 14:29:20
举报
文章被收录于专栏:小康的自留地小康的自留地

为你的好朋友来点评论

注意:此篇文章所述内容仅仅对valine评论系统有效,其他评论系统不可用!

想要为朋友来点评论需要具备的能力如下

懂得右键查看源代码

能够安装python3

能够安装一个python的模块

能够运行一个python代码

能够简单修改一些参数

关于python相关如果不清楚或不了解请自行百度。

获取基础配置

想要为朋友来点评论就需要知道他的博客域名、appId、appKey和他所使用的机器是哪个地区的。

接下来一一介绍上述四种元素如何获取。

博客域名

这是你朋友的博客域名,你可以咨询他。例如我的博客域名https://www.antmoe.com

注意需要带上请求头,就像我上边那样。

appId、appKey

这个虽然看似隐私,但其实是暴露的。找一个可以评论的页面即可,以乐特大佬的博客为例,右键查看源代码,然后ctrl+F搜索Valine,如下就是我们需要的appId与appKey

image-20200717193854682
image-20200717193854682

所使用的机器

所使用的机器指的是指他的Leancloud所使用的地区。同样的找一个有可以评论的页面,F12打开控制台,选择网络(Network),选择XHR。刷新页面。

其中这就是我们需要的地址https://avoscloud.com/1.1/classes/Comment

image-20200717194547767
image-20200717194547767

使用脚本为其来点评论

import threading
import time
import hashlib
import requests
import json
import time
import random


class Gogogo(threading.Thread):
    def __init__(self, appId, appKey, whiteUrl, leancloudUrl, urls):
        threading.Thread.__init__(self)
        self.appId = appId
        self.appKey = appKey
        self.whiteUrl = whiteUrl  # 网站白名单
        self.leancloudUrl = leancloudUrl  # leancloud的地址
        self.curlUrls = urls  # 评论地址列表
        self.commentText = ''
        self.commentForm = ''
        self.nowTime = str(int(time.time() * 1000))
        self.headers = {
            "accept": "*/*",
            "content-type": "application/json",
            "charset": "UTF-8",
            "origin": self.whiteUrl,
            "referer": self.whiteUrl,
            "sec-fetch-dest": "empty",
            "sec-fetch-mode": "cors",
            "sec-fetch-site": "cross-site",
            "user-agent": "Mozilla/5.0 (Windows NT 10.0 Win64 x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36 Edg/83.0.478.64",
            "x-lc-id": self.appKey,
            "x-lc-sign": "%s,%s" % (self.my_md5(self.nowTime+self.appId), self.nowTime),
            "x-lc-ua": "LeanCloud-JS-SDK/3.15.0 (Browser)",
        }
        self.data = {
            "ACL": {"*": {"read": True}},
            "QQAvatar": "https://q2.qlogo.cn/headimg_dl?dst_uin=%s&spec=100" % (random.randint(1000000, 9999999999)),
            "comment": "<p>"+"%s" % (self.commentText)+"</p>",
            "insertedAt": {"__type": "Date", "iso": "%s%s%s%s-0%s-22T02:25:02.979Z" % (random.randint(0, 9), random.randint(0, 9), random.randint(0, 9), random.randint(0, 9), random.randint(0, 9))},
            "ip": "%s.%s.%s.%s" % (random.randint(0, 1000), random.randint(0, 1000), random.randint(0, 1000), random.randint(0, 1000)),
            "link": self.whiteUrl,
            "mail": "%s@qq.com" % (random.randint(1000000, 9999999999)),
            "nick": self.commentForm,
            "ua": "Mozilla/5.0 (Windows NT %s.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s.0.4103.61 Safari/537.36 Edg/%s.0.478.37" % (random.randint(0, 1000), random.randint(0, 1000), random.randint(0, 1000)),
            "url": '/'
        }

    # MD5加密

    def my_md5(self, s):
        m = hashlib.md5(s.encode())
        return m.hexdigest()  # 获取加密后的字符串

    # 得到评论的地址

    def getCurl(self):
        num = random.randint(0, len(self.curlUrls) - 1)
        print(self.curlUrls[num])
        return self.curlUrls[num]

    # 设置评论的内容与评论地址

    def getCommentText(self):
        try:
            obj = json.loads(requests.get(
                'https://international.v1.hitokoto.cn/').text)
        except:
            obj = False
        if (obj):
            self.data['comment'] = "<p>" + obj['hitokoto']+"</p>"
            self.data['nick'] = obj['from']
            self.data['url'] = self.getCurl()
            return "%s-------%s" % (self.data['comment'], self.data['nick'])
        else:
            self.data['comment'] = "大佬太强了!!!"
            self.data['nick'] = '一个菜鸟!!!'
            self.data['url'] = self.getCurl()
            return "%s-------%s" % ("大佬太强了!!!", "一个菜鸟!!!")

    def run(self):
        while True:
            self.getCommentText()
            r = requests.post(self.leancloudUrl,
                              headers=self.headers, data=json.dumps(self.data))
            print(r.text)
# return r


# 评论页面的列表 支持多个
urls = ['/message/', 'test1', 'test2']
# range参数为线程参数
for i in range(100):
    # 第一个参数表示appKey,第二个参数表示appId,第三个参数表示允许评论的白名单(通常为博客域名),第四个参数表示leancloud的地址,第五个参数表示需要刷取的页面列表
    leteNB = Gogogo('appKey','appId','博客域名','leancloud的地址',urls)
    leteNB.start()

例子:假如我想为https://www.antmoe.com/posts/a811d614/index.htmlhttps://www.antmoe.com/posts/fa6c3bf8/index.html这两个页面刷点评论,那么需要修改的配置为:

# 评论页面的列表 支持多个
urls = ['/posts/a811d614/index.html', '/posts/fa6c3bf8/index.html']
# range参数为线程参数
for i in range(100):
    # 第一个参数表示appKey,第二个参数表示appId,第三个参数表示允许评论的白名单(通常为博客域名),第四个参数表示leancloud的地址,第五个参数表示需要刷取的页面列表
    leteNB = Gogogo('f3qDOJkhXasd1gIg6SG3sJJm1v','MBfS2fVeebK3aL9bwrdxyIJ8-MdYXbMMI','https://www.antmoe.com/','https://us.avoscloud.com/1.1/classes/Comment',urls)
    leteNB.start()

那么接下来启动脚本就好了。

线程指的是同时几个程序帮他刷,如果100相当于100个人一起帮他评论,而1则表示一个人一个人的帮他评论。线程数越大刷的越多(电脑带的动)。

其他

如果你想一直为你的好朋友添加评论,那么可以将这个脚本扔到GitHub并利用actions来帮他刷哦!

这里暂时就不介绍了,各位好心的博主如果遇到好朋友需要评论可以为他来一点哦!

另外为了不被刷取评论,本站关闭了valine评论。

最后希望各位小伙伴以及小伙伴的朋友会喜欢呢!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 为你的好朋友来点评论
    • 获取基础配置
      • 博客域名
      • appId、appKey
      • 所使用的机器
    • 使用脚本为其来点评论
      • 其他
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档