此次失算了,随意找了篇文章直接查看评论框form:
在里面登录代码的基础上进行评论的递交:
blog_url = "http://blog.csdn.net/u013291394/comment/submit?id=50444369"
comment = {
"comment_content": "水军评论测试",
"comment_usrId":"531203"
}
r2 = session.post(blog_url, comment)
print(r2.text)
结果返回了{“result”:0,”content”:”评论内容没有填写!”,”callback”:null,”data”:null}这样的结果。有点意思,应当是在js中对参数进行了处理。那就把js拉下来瞧瞧,网页里搜了一下js文件,有个comment.js,就是它了。在前面的form中可以见到递交时调用了subform方式,查看方式如下:
function subform(e) {
if (c_doing) return false;
var content = $.trim($(editorId).val());
if (content == "") {
commentTip("评论内容没有填写!");
return false;
} else if (content.length > 1000) {
commentTip("评论内容太长了,不能超过1000个字符!");
return false;
}
var commentId = $("#commentId").val();
commentTip("正在发表评论...");
var beginTime = new Date();
$(editorId).attr("disabled", true);
$("button[type=submit]", e).attr("disabled", true);
c_doing = true;
$.ajax({
type: "POST",
url: $(e).attr("action"),
data: {
"commentid": commentId,
"content": content,
"replyId": $("#comment_replyId").val(),
"boleattohome": $("#boleattohome").val()
},
success: function (data) {
c_doing = false;
commentTip(data.content);
if (data.result) {
var rcommentid=$("#comment_replyId").val()
$(editorId).val('');
$("#comment_replyId,#comment_verifycode").val('');
commentscount++;
loadList(1, true);
$(editorId).attr("disabled", false);
$("button[type=submit]", e).attr("disabled", false);
commentTip("发表成功!评论耗时:" + (new Date() - beginTime) + "毫秒")
if (rcommentid!=undefined && rcommentid != "")
{
$("html,body").animate({ scrollTop: $("#comment_item_" + rcommentid).offset().top }, 1000);
}
}
}
});
return false;
}
复制
可以清楚的看见最后POST递交的数据data改变了参数的名子,还有几个其他的参数通过看js文件可以看见不是空的就是定死的,就不用管他了。同时发觉上的”comment_usrId”也是给死的?那就只要comment一个变量就搞定了。
blog_url = "http://blog.csdn.net/u013291394/comment/submit?id=50444369"
comment = {
"content": "水军评论测试",
}
r2 = session.post(blog_url, comment)
print(r2.text)
复制
看一下疗效:
手动化
其实里面最终的参数传递也可以自己自动评论并用抓包软件抓取,不过通过查看commetn.js文件也给我的手动化评论提供了方向,其中有一个load_comment_form()方式,是拿来加载comment-form的,它给出了action的定义:
action=”/'+username+'/comment/submit?id='+fileName+'”
写的很明白了,我只要抓取到页面的作者名和文章的编号就可以恣意的水评论了,随意选个抓取文章的入口,如最新博客入口,用BeautifulSoup抓取url并解析取到其中的username和filename来构成action并降价评论。
运行脚本试一下疗效:
写在最后
写这篇文章只是为了证明一下自己的看法,不是拿来也不希望有人拿来恶意刷评论。
请登录后发表评论
注册
社交帐号登录