如何使用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 reduce 函数使用详解
Dec 05 Python
利用Python如何制作好玩的GIF动图详解
Jul 11 Python
Python开发的十个小贴士和技巧及长常犯错误
Sep 27 Python
Python实现程序判断季节的代码示例
Jan 28 Python
numpy.where() 用法详解
May 27 Python
Python使用pyautocad+openpyxl处理cad文件示例
Jul 11 Python
python实现的批量分析xml标签中各个类别个数功能示例
Dec 30 Python
jupyter notebook参数化运行python方式
Apr 10 Python
python利用os模块编写文件复制功能——copy()函数用法
Jul 13 Python
python学习之使用Matplotlib画实时的动态折线图的示例代码
Feb 25 Python
用Python爬取各大高校并可视化帮弟弟选大学,弟弟直呼牛X
Jun 11 Python
关于python pygame游戏进行声音添加的技巧
Oct 24 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+MySQL判断update语句是否执行成功的方法
2014/08/28 PHP
PHP内核学习教程之php opcode内核实现
2016/01/27 PHP
PHP使用PDO操作数据库的乱码问题解决方法
2016/04/08 PHP
PHP 二级子目录(后台目录)设置二级域名
2017/03/02 PHP
php插入mysql数据返回id的方法
2018/05/31 PHP
jQuery 动画弹出窗体支持多种展现方式
2010/04/29 Javascript
通过Jquery遍历Json的两种数据结构的实现代码
2011/01/19 Javascript
JavaScript获取页面上某个元素的代码
2011/03/13 Javascript
js读取注册表的键值示例
2013/09/25 Javascript
js阻止事件追加的具体实现
2014/10/15 Javascript
jquery选择器需要注意的问题
2014/11/26 Javascript
基于OL2实现百度地图ABCD marker的效果
2015/10/01 Javascript
JavaScript事件处理的方式(三种)
2016/04/26 Javascript
Bootstrap自动适应PC、平板、手机的Bootstrap栅格系统
2016/05/27 Javascript
AngularJs表单验证实例详解
2016/05/30 Javascript
jQuery+ajax读取并解析XML文件的方法
2016/09/09 Javascript
js is_valid_filename验证文件名的函数
2017/07/19 Javascript
JavaScript实现京东购物放大镜和选项卡效果的方法分析
2018/07/05 Javascript
vue移动端屏幕适配详解
2019/04/30 Javascript
Vue 根据条件判断van-tab的显示方式
2020/08/03 Javascript
[43:47]完美世界DOTA2联赛PWL S3 LBZS vs Phoenix 第一场 12.09
2020/12/11 DOTA
详解Python中for循环的使用方法
2015/05/14 Python
python实现数组插入新元素的方法
2015/05/22 Python
Python实现的微信公众号群发图片与文本消息功能实例详解
2017/06/30 Python
Python面向对象之静态属性、类方法与静态方法分析
2018/08/24 Python
Python 类属性与实例属性,类对象与实例对象用法分析
2019/09/20 Python
Python利用多线程同步锁实现多窗口订票系统(推荐)
2019/12/22 Python
Python跑循环时内存泄露的解决方法
2020/01/13 Python
keras tensorflow 实现在python下多进程运行
2020/02/06 Python
python实现简单坦克大战
2020/03/27 Python
Java爬虫技术框架之Heritrix框架详解
2020/07/22 Python
《山谷中的谜底》教学反思
2014/04/26 职场文书
2014年保育员工作总结
2014/12/02 职场文书
求职信格式范文
2015/03/19 职场文书
起诉书格式范文
2015/05/20 职场文书
2016年保险公众宣传日活动总结
2016/04/05 职场文书