专栏首页小康的自留地为你的好朋友添点评论

为你的好朋友添点评论

为你的好朋友来点评论

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

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

懂得右键查看源代码

能够安装python3

能够安装一个python的模块

能够运行一个python代码

能够简单修改一些参数

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

获取基础配置

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

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

博客域名

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

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

appId、appKey

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

所使用的机器

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

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

使用脚本为其来点评论

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评论。

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python面向对象

    对象查找属性的顺序:先从对象空间找 ------> 类空间找 ------> 父类空间找 ------->…

    Dreamy.TZK
  • HTTP是什么

    HTP全称为 Hypertext Transfer Protocol,被译为超文本传输协议,是互联网上应用最为广泛的一种网络协议。 HTTP协议是在Web上进行...

    Dreamy.TZK
  • 三次握手与四次断开

    TCP是一种面向连接的单播协议,在发送数据前,通信双方必须在彼此间建立一条连接。所谓的“连接”,其实是客户端和服务器的内存里保存的一份关于对方的信息,如ip地址...

    Dreamy.TZK
  • 用python写gui

    风之小云天
  • 疫情期间网民情绪识别比赛后记

    前阵子参加了 DataFountain 举办的 疫情期间网民情绪识别[1] 比赛,最终成绩排在第 20 名,成绩不是太好,本文就是纯粹记录一下,遇到太年轻的想法...

    朴素人工智能
  • 【项目实践】中英文文字检测与识别项目(CTPN+CRNN+CTC Loss原理讲解)

    文字识别也是图像领域一个常见问题。然而,对于自然场景图像,首先要定位图像中的文字位置,然后才能进行文字的识别。

    OpenCV学堂
  • VR+全景播放器+头控讲解-07

    酷走天涯
  • python pyqt5 QStackedWidget

    import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.Qt...

    用户5760343
  • Python | Queue 队列源码分析

    queue 模块提供适用于多线程编程的先进先出(FIFO)数据结构。因为它是线程安全的,所以多个线程很轻松地使用同一个实例。

    咸鱼学Python
  • cxfreeze打包python程序的方法说明(生成安装包,实现桌面快捷方式、删除快捷方式)

    python代码文件转exe方法有三种,分别是cx_freeze,py2exe,PyInstaller,这三种方式各有千秋,本人只用过py2exe和cxfree...

    黯然销魂掌

扫码关注云+社区

领取腾讯云代金券