前言
仅供学习代码,咳咳!慎用!
为什么我总感觉有些博主的评论好机械呢?带着这个疑问我决定尝试下用程序来水评论。
浏览器查看下
发现submit用的post方法需要提交的数据是自己的评论内容,以及文章的id与网址上面的一丢数字一样。
好了,知道这些之后我们就可以动手尝试了。
尝试
光动嘴不能说明这一切,当然是打开postman喽!用着挺舒服的。把浏览器里面的cookie复制粘贴到postman的headers里面body里面增加我们需要post过去的参数,如下图
可以看出我在听歌,以及post成功的信息。如下图,竟然成功了。
那是否可以,嘿嘿,干点好事呢。
首先找到受害者 被表扬者
查看源代码后,发现网址不在里面,抓包发现网址,如下图
结合post提交写出尝试代码
尝试成功,成功后删除了无用评论
综合上面写出最终代码
import requests
import re
from bs4 import BeautifulSoup
import json
header = {
'User-Agent': "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3641.400 QQBrowser/10.4.3284.400",
'cookie':''需要自己添加
}
'''
得到python排行榜的文章id
'''
def get_article():
url = "https://blog.csdn.net/phoenix/web/blog/hotRank?page=0&pageSize=25&child_channel=python"
r = requests.get(url = url,headers = header)
#抛出异常
r.raise_for_status()
#解决乱码
r.encoding = r.apparent_encoding
#转化为json数据
r_json = json.loads(r.text)
# 获取id和url,存入列表
id_list = []
for i in range(0,len(r_json.get('data'))):
id_list.append(r_json.get('data')[i].get('articleDetailUrl'))
return id_list
'''
自动提交评论
'''
def auto_comment(list):
url = 'https://blog.csdn.net/phoenix/web/v1/comment/submit'
b = [] #存放id
for i in range(0,10):
b.append(list[i][-9:])
#生成需要提交的数据
payload = {
'commentId':'',
'content': '举笔信手涂抹几下,一幅腾飞的巨龙即跃然纸上。他所画之龙,栩栩如生,雄奇魁伟而变化多端。陈容画龙往往不画整条,或画龙首,或画龙爪,忽隐忽现,似闻其声,如见其形,且泼墨成云,喷水化雾,神妙无比。 总之,爱了爱了,太详细了',
'articleId': b[0]
}
#post提交过去
re = requests.post(url,data = payload,headers = header)
print(re.text)
auto_comment(list)
总结
写完之后我忍不住的深思,想起当初的我看到一个善意评论时的激动,给了我继续写下去的动力与信心,或许大家也并不是抱着尝试代码的态度来“水”评论的吧!我们最开始需要的也只是一个“吻”,那里还管它是否存在呢。