自动评论博客

前言

仅供学习代码,咳咳!慎用!
为什么我总感觉有些博主的评论好机械呢?带着这个疑问我决定尝试下用程序来水评论。

浏览器查看下

自动评论博客_第1张图片
发现submit用的post方法需要提交的数据是自己的评论内容,以及文章的id与网址上面的一丢数字一样。
好了,知道这些之后我们就可以动手尝试了。

尝试

光动嘴不能说明这一切,当然是打开postman喽!用着挺舒服的。把浏览器里面的cookie复制粘贴到postman的headers里面body里面增加我们需要post过去的参数,如下图
自动评论博客_第2张图片
可以看出我在听歌,以及post成功的信息。如下图,竟然成功了。自动评论博客_第3张图片
那是否可以,嘿嘿,干点好事呢。

首先找到受害者 被表扬者

自动评论博客_第4张图片

查看源代码后,发现网址不在里面,抓包发现网址,如下图
自动评论博客_第5张图片
结合post提交写出尝试代码

自动评论博客_第6张图片
尝试成功,成功后删除了无用评论
自动评论博客_第7张图片
综合上面写出最终代码

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)

总结

写完之后我忍不住的深思,想起当初的我看到一个善意评论时的激动,给了我继续写下去的动力与信心,或许大家也并不是抱着尝试代码的态度来“水”评论的吧!我们最开始需要的也只是一个“吻”,那里还管它是否存在呢。

你可能感兴趣的:(python小尝试,python)