注意:此篇文章所述内容仅仅对valine
评论系统有效,其他评论系统不可用!
想要为朋友来点评论需要具备的能力如下
懂得右键查看源代码
能够安装python3
能够安装一个python的模块
能够运行一个python代码
能够简单修改一些参数
关于python相关如果不清楚或不了解请自行百度。
想要为朋友来点评论就需要知道他的博客域名、appId、appKey和他所使用的机器是哪个地区的。
接下来一一介绍上述四种元素如何获取。
这是你朋友的博客域名,你可以咨询他。例如我的博客域名https://www.antmoe.com
注意需要带上请求头,就像我上边那样。
这个虽然看似隐私,但其实是暴露的。找一个可以评论的页面即可,以乐特大佬的博客为例,右键查看源代码,然后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.html
、https://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评论。
最后希望各位小伙伴以及小伙伴的朋友会喜欢呢!