如何使用Python实现自动化水军评论


Posted in Python onJune 26, 2019

前言

玩博客一个多月了,渐渐发现了一些有意思的事,经常会有人用同样的评论到处刷,不知道是为了加没什么用的积分,还是纯粹为了表达楼主好人。那么问题来了,这种无聊的事情当然最好能够自动化咯,自己也来试了一把,纯属娱乐。

登陆

要评论当然要能够先进行登陆,采用 库进行处理,尝试能否看到自己的消息列表:

结果跳转到登陆界面,好的那看一下登陆界面是怎么登陆的,找到表单:

发现还有一些隐藏的参数,如lt、excution等,好心的程序猿还写明了不能为什么不能直接认证的原因:缺少流水号,那就多访问一次来获取流水号好了,用 来分析页面内容抓取流水号,同时因为要跨不同的域来进行操作,所以引入session:

如何使用Python实现自动化水军评论

好了,现在能够得到我的消息信息了,说明已经成功解决登陆问题,那么自动化水军评论应该就近在眼前了。

自动评论

这次学乖了,随便找了篇文章直接查看评论框form:

如何使用Python实现自动化水军评论

在上面登陆代码的基础上进行评论的提交:

如何使用Python实现自动化水军评论

结果返回了 {"result":0,"content":"评论内容没有填写!","callback":null,"data":null} 这样的结果。有点意思,应该是在js中对参数进行了处理。那就把js拉出来看看,网页里搜了一下js文件,有个 ,就是它了。在上面的form中可以看到提交时调用了subform方法,查看方法如下:

如何使用Python实现自动化水军评论

可以清楚的看到最后POST提交的数据 data 改变了参数的名字,还有几个其他的参数通过看js文件可以看到不是空的就是定死的,就不用管他了。同时发现上的 "comment_usrId" 也是给死的?那就只要comment一个变量就搞定了。

如何使用Python实现自动化水军评论

看一下效果:

如何使用Python实现自动化水军评论

自动化

当然上面最终的参数传递也可以自己手动评论并用抓包软件抓取,不过通过查看 commetn.js 文件也给我的自动化评论提供了方向,其中有一个 load_comment_form() 方法,是用来加载comment-form的,它给出了action的定义:

action="/' + username + '/comment/submit?id=' + fileName + '"

写的很明白了,我只要抓取到页面的作者名和文章的编号就可以尽情的水评论了,随便选个抓取文章的入口,如最新博客入口 ,用BeautifulSoup抓取url并解析取到其中的username和filename来构成action并提价评论。

运行脚本试一下效果:

如何使用Python实现自动化水军评论

打开评论管理看一下:

如何使用Python实现自动化水军评论

自动化评论成功。

写在最后

写这篇文章只是为了证明一下自己的想法,不是用来也不希望有人用来恶意刷评论。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中尝试多线程编程的一个简明例子
Apr 07 Python
Python实现树的先序、中序、后序排序算法示例
Jun 23 Python
django 常用orm操作详解
Sep 13 Python
Python实现简单网页图片抓取完整代码实例
Dec 15 Python
Python基于scipy实现信号滤波功能
May 08 Python
django框架模板中定义变量(set variable in django template)的方法分析
Jun 24 Python
python的一些加密方法及python 加密模块
Jul 11 Python
python+jinja2实现接口数据批量生成工具
Aug 28 Python
详解python中index()、find()方法
Aug 29 Python
浅谈keras中的后端backend及其相关函数(K.prod,K.cast)
Jun 29 Python
详解python 内存优化
Aug 17 Python
如何基于Python爬虫爬取美团酒店信息
Nov 03 Python
详解用pyecharts Geo实现动态数据热力图城市找不到问题解决
Jun 26 #Python
Python 数据可视化pyecharts的使用详解
Jun 26 #Python
python 实现交换两个列表元素的位置示例
Jun 26 #Python
python之信息加密题目详解
Jun 26 #Python
实例详解Python模块decimal
Jun 26 #Python
Python3之不使用第三方变量,实现交换两个变量的值
Jun 26 #Python
python 猴子补丁(monkey patch)
Jun 26 #Python
You might like
PHP开发者常犯的10个MySQL错误更正剖析
2012/01/30 PHP
php数组一对一替换实现代码
2012/08/31 PHP
php在程序中将网页生成word文档并提供下载的代码
2012/10/09 PHP
解析php中两种缩放图片的函数,为图片添加水印
2013/06/14 PHP
PHP生成指定长度随机数最简洁的方法
2014/07/14 PHP
PHP获取类私有属性的3种方法
2020/09/10 PHP
javaScript Array(数组)相关方法简述
2009/07/25 Javascript
JavaScript 异步调用框架 (Part 5 - 链式实现)
2009/08/04 Javascript
javascript提取URL的搜索字符串中的参数(自定义函数实现)
2013/01/22 Javascript
jQuery处理xml格式的返回数据(实例解析)
2013/11/28 Javascript
Kendo Grid editing 自定义验证报错提示的解决方法
2016/11/18 Javascript
JQuery和html+css实现带小圆点和左右按钮的轮播图实例
2017/07/22 jQuery
使用Dropzone.js上传的示例代码
2017/10/10 Javascript
跨域解决之JSONP和CORS的详细介绍
2018/11/21 Javascript
微信小程序出现wx.getLocation再次授权问题的解决方法分析
2019/01/16 Javascript
Vue 使用计时器实现跑马灯效果的实例代码
2019/07/11 Javascript
JavaScript this在函数中的指向及实例详解
2019/10/14 Javascript
JavaScript代理模式原理与用法实例详解
2020/03/10 Javascript
[01:12:44]VG vs Mineski Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
PHP webshell检查工具 python实现代码
2009/09/15 Python
使用python实现拉钩网上的FizzBuzzWhizz问题示例
2014/05/05 Python
使用Python编写爬虫的基本模块及框架使用指南
2016/01/20 Python
Python定时器实例代码
2017/11/01 Python
TensorFlow变量管理详解
2018/03/10 Python
Python实现爬取马云的微博功能示例
2019/02/16 Python
Numpy数组array和矩阵matrix转换方法
2019/08/05 Python
利用Python产生加密表和解密表的实现方法
2019/10/15 Python
详解Windows下PyCharm安装Numpy包及无法安装问题解决方案
2020/06/18 Python
HTML5拖拽文件到浏览器并实现文件上传下载功能代码
2013/06/06 HTML / CSS
HTML5中的进度条progress元素简介及兼容性处理
2016/06/02 HTML / CSS
H&M美国官网:欧洲最大的服饰零售商
2016/09/07 全球购物
海蓝之谜(LA MER)澳大利亚官方商城:全球高端奢华护肤品牌
2017/10/27 全球购物
VLAN和VPN有什么区别?分别实现在OSI的第几层?
2014/12/23 面试题
九年级历史教学反思
2014/01/27 职场文书
关于美容院的活动方案
2014/08/14 职场文书
群众路线教育实践活动学习笔记
2014/11/05 职场文书