使用Java刷评论为平台引流的经历
场景:需要在一网站中批量评论留言。
分析接口:
列表接口获取idList,返回的是json数据直接用FastJson转就可以,如果返回的是HTML片段,则需要使用Jsoup进行提取,值得一学,常用于爬虫;
评论接口使用的是get请求,评论内容在url中,中文需进行编码。
获取idList接口:http://yyy.xxx.cn/?r=matchV4/search/GetJson&page=2&pageSize=10&type=weike&typeID=51&grade=0&subject=0&areaID=0&order=quality
每页数量:pageSize=10
第几页:page=
type: XX course
typeID:51 52
作品类型:XX 专题
grade: 0 4 1 2 3 5 6
学段:全部 幼儿园 小学 初中 高中 职校 高校
subject:0 1 2 3 11 12 13 15 14 4 7 8 6 16 5 10
学科: 全部 语文 数学 英语 物理 化学 生物 历史 地理 政治(思想品德) 音乐 美术 体育与健康 信息技术 科学 其他
areaID:0 1-31
地区:全部 北京 上海 天津 重庆 黑龙江 吉林 辽宁 山东 山西 陕西 河北 河南 湖北 湖南 海南 江苏 江西 广东 广西 云南 贵州 四川 内蒙古 宁夏 甘肃 青海 西藏 新疆 安徽 浙江 福建
order:quality vote commentnum date
排序: 综合排序 | 投票数量 | 评论数量 | 上传时间
评论接口:http://xxx.yyy.cn/?r=matchV4/play/addComment&comment="+encodedComment+"&content_id="+data.getId()
使用到的相关组件:Hutoll工具、log4j、fastjson
Http请求类用于构建Http请求并同步获取结果,注意设置登录后的cookie,评论内容通过url传参需要将评论内容url编码。
HttpRequest.get("http://xxx.yyy.cn/?r=matchV4/play/addComment&comment="+encodedComment+"&content_id="+data.getId())
.cookie(cookie).execute();
//Hutool计时器工具
TimeInterval timer = DateUtil.timer();
log.info("NO:{}--课程ID:{}>>>>评论成功>>>>耗时{}毫秒",++count,data.getId(),String.valueOf(timer.intervalMs()));
Log日志
WARN - 当前时间:2022-08-27 21:39:57,获取courseID中,
请求参数:http://xxx.yyy.cn/?r=matchV4/search/GetJson&pageSize=10&type=weike
&typeID=51&grade=0&subject=0&areaID=0&order=quality&page=
WARN - 获取ID:100个,耗时2秒
WARN - 启动评论,内容:xxxxxx
INFO - NO:1--课程ID:142879>>>>评论成功>>>>耗时140毫秒
INFO - NO:2--课程ID:142871>>>>评论成功>>>>耗时131毫秒
INFO - NO:3--课程ID:142870>>>>评论成功>>>>耗时131毫秒
INFO - NO:4--课程ID:142869>>>>评论成功>>>>耗时130毫秒
INFO - NO:5--课程ID:142868>>>>评论成功>>>>耗时128毫秒
INFO - NO:6--课程ID:142866>>>>评论成功>>>>耗时95毫秒
INFO - NO:7--课程ID:142864>>>>评论成功>>>>耗时90毫秒
INFO - NO:8--课程ID:142862>>>>评论成功>>>>耗时90毫秒
INFO - NO:9--课程ID:142857>>>>评论成功>>>>耗时90毫秒
INFO - NO:10--课程ID:142847>>>>评论成功>>>>耗时100毫秒
INFO - NO:11--课程ID:142843>>>>评论成功>>>>耗时90毫秒
INFO - NO:12--课程ID:142840>>>>评论成功>>>>耗时92毫秒
INFO - NO:13--课程ID:142837>>>>评论成功>>>>耗时88毫秒
INFO - NO:14--课程ID:142828>>>>评论成功>>>>耗时90毫秒
INFO - NO:15--课程ID:142817>>>>评论成功>>>>耗时90毫秒
INFO - NO:16--课程ID:142808>>>>评论成功>>>>耗时105毫秒
INFO - NO:17--课程ID:142807>>>>评论成功>>>>耗时90毫秒
INFO - NO:18--课程ID:142798>>>>评论成功>>>>耗时90毫秒
INFO - NO:19--课程ID:142792>>>>评论成功>>>>耗时105毫秒
INFO - NO:20--课程ID:142791>>>>评论成功>>>>耗时96毫秒
INFO - NO:21--课程ID:142787>>>>评论成功>>>>耗时89毫秒
INFO - NO:22--课程ID:142783>>>>评论成功>>>>耗时91毫秒
INFO - NO:23--课程ID:142773>>>>评论成功>>>>耗时89毫秒
INFO - NO:24--课程ID:142763>>>>评论成功>>>>耗时85毫秒
INFO - NO:25--课程ID:142758>>>>评论成功>>>>耗时97毫秒
INFO - NO:26--课程ID:142757>>>>评论成功>>>>耗时90毫秒
INFO - NO:27--课程ID:142755>>>>评论成功>>>>耗时93毫秒
INFO - NO:28--课程ID:142754>>>>评论成功>>>>耗时90毫秒
INFO - NO:29--课程ID:142752>>>>评论成功>>>>耗时80毫秒
INFO - NO:30--课程ID:142751>>>>评论成功>>>>耗时92毫秒
INFO - NO:31--课程ID:142746>>>>评论成功>>>>耗时97毫秒
INFO - NO:32--课程ID:142744>>>>评论成功>>>>耗时90毫秒
INFO - NO:33--课程ID:142743>>>>评论成功>>>>耗时90毫秒
INFO - NO:34--课程ID:142742>>>>评论成功>>>>耗时80毫秒
INFO - NO:35--课程ID:142739>>>>评论成功>>>>耗时97毫秒
INFO - NO:36--课程ID:142738>>>>评论成功>>>>耗时93毫秒
INFO - NO:37--课程ID:142737>>>>评论成功>>>>耗时90毫秒
INFO - NO:38--课程ID:142736>>>>评论成功>>>>耗时89毫秒
INFO - NO:39--课程ID:142732>>>>评论成功>>>>耗时91毫秒
INFO - NO:40--课程ID:142729>>>>评论成功>>>>耗时90毫秒
INFO - NO:41--课程ID:142727>>>>评论成功>>>>耗时90毫秒
INFO - NO:42--课程ID:142724>>>>评论成功>>>>耗时94毫秒
INFO - NO:43--课程ID:142715>>>>评论成功>>>>耗时86毫秒
INFO - NO:44--课程ID:142714>>>>评论成功>>>>耗时100毫秒
INFO - NO:45--课程ID:142710>>>>评论成功>>>>耗时85毫秒
INFO - NO:46--课程ID:142709>>>>评论成功>>>>耗时90毫秒
INFO - NO:47--课程ID:142702>>>>评论成功>>>>耗时100毫秒
INFO - NO:48--课程ID:142700>>>>评论成功>>>>耗时90毫秒
INFO - NO:49--课程ID:142698>>>>评论成功>>>>耗时90毫秒
INFO - NO:50--课程ID:142691>>>>评论成功>>>>耗时100毫秒
INFO - NO:51--课程ID:142690>>>>评论成功>>>>耗时90毫秒
INFO - NO:52--课程ID:142688>>>>评论成功>>>>耗时100毫秒
INFO - NO:53--课程ID:142687>>>>评论成功>>>>耗时90毫秒
INFO - NO:54--课程ID:142683>>>>评论成功>>>>耗时100毫秒
INFO - NO:55--课程ID:142675>>>>评论成功>>>>耗时90毫秒
INFO - NO:56--课程ID:142670>>>>评论成功>>>>耗时90毫秒
INFO - NO:57--课程ID:142668>>>>评论成功>>>>耗时90毫秒
INFO - NO:58--课程ID:142667>>>>评论成功>>>>耗时90毫秒
INFO - NO:59--课程ID:142666>>>>评论成功>>>>耗时90毫秒
INFO - NO:60--课程ID:142663>>>>评论成功>>>>耗时92毫秒
INFO - NO:61--课程ID:142658>>>>评论成功>>>>耗时88毫秒
INFO - NO:62--课程ID:142657>>>>评论成功>>>>耗时90毫秒
INFO - NO:63--课程ID:142654>>>>评论成功>>>>耗时95毫秒
INFO - NO:64--课程ID:142646>>>>评论成功>>>>耗时85毫秒
INFO - NO:65--课程ID:142643>>>>评论成功>>>>耗时92毫秒
INFO - NO:66--课程ID:142642>>>>评论成功>>>>耗时88毫秒
INFO - NO:67--课程ID:142638>>>>评论成功>>>>耗时90毫秒
INFO - NO:68--课程ID:142631>>>>评论成功>>>>耗时100毫秒
INFO - NO:69--课程ID:142630>>>>评论成功>>>>耗时92毫秒
INFO - NO:70--课程ID:142622>>>>评论成功>>>>耗时93毫秒
INFO - NO:71--课程ID:142621>>>>评论成功>>>>耗时89毫秒
INFO - NO:72--课程ID:142620>>>>评论成功>>>>耗时116毫秒
INFO - NO:73--课程ID:142614>>>>评论成功>>>>耗时93毫秒
INFO - NO:74--课程ID:142608>>>>评论成功>>>>耗时87毫秒
INFO - NO:75--课程ID:142606>>>>评论成功>>>>耗时91毫秒
INFO - NO:76--课程ID:142605>>>>评论成功>>>>耗时89毫秒
INFO - NO:77--课程ID:142600>>>>评论成功>>>>耗时90毫秒
INFO - NO:78--课程ID:142599>>>>评论成功>>>>耗时81毫秒
INFO - NO:79--课程ID:142598>>>>评论成功>>>>耗时98毫秒
INFO - NO:80--课程ID:142592>>>>评论成功>>>>耗时82毫秒
INFO - NO:81--课程ID:142591>>>>评论成功>>>>耗时88毫秒
INFO - NO:82--课程ID:142589>>>>评论成功>>>>耗时80毫秒
INFO - NO:83--课程ID:142586>>>>评论成功>>>>耗时90毫秒
INFO - NO:84--课程ID:142583>>>>评论成功>>>>耗时97毫秒
INFO - NO:85--课程ID:142581>>>>评论成功>>>>耗时88毫秒
INFO - NO:86--课程ID:142574>>>>评论成功>>>>耗时82毫秒
INFO - NO:87--课程ID:142572>>>>评论成功>>>>耗时97毫秒
INFO - NO:88--课程ID:142570>>>>评论成功>>>>耗时83毫秒
INFO - NO:89--课程ID:142566>>>>评论成功>>>>耗时92毫秒
INFO - NO:90--课程ID:142564>>>>评论成功>>>>耗时88毫秒
INFO - NO:91--课程ID:142561>>>>评论成功>>>>耗时120毫秒
INFO - NO:92--课程ID:142559>>>>评论成功>>>>耗时86毫秒
INFO - NO:93--课程ID:142558>>>>评论成功>>>>耗时84毫秒
INFO - NO:94--课程ID:142547>>>>评论成功>>>>耗时90毫秒
INFO - NO:95--课程ID:142542>>>>评论成功>>>>耗时90毫秒
INFO - NO:96--课程ID:142539>>>>评论成功>>>>耗时90毫秒
INFO - NO:97--课程ID:142535>>>>评论成功>>>>耗时80毫秒
INFO - NO:98--课程ID:142530>>>>评论成功>>>>耗时95毫秒
INFO - NO:99--课程ID:142529>>>>评论成功>>>>耗时85毫秒
INFO - NO:100--课程ID:142527>>>>评论成功>>>>耗时90毫秒
WARN - 时间:2022-08-27 21:40:10,评论结束,共100条
使用Java刷评论为平台引流的经历的更多相关文章
- 牛客网Java刷题知识点之字符流缓冲区、BufferedWriter、BufferedReader、BufferedReader-readLine方法原理、自定义MyBufferedReader-read方法、自定义MyBufferedReader-readLine方法
不多说,直接上干货! 把提高效率的动作,封装成一个对象.即把缓冲区封装成一个对象. 就是在一个类里封装一个数组,能对流锁操作数据进行缓存. 什么是字符流缓冲区? 善于使用字符流缓冲区,减轻负担,提高下 ...
- 牛客网Java刷题知识点之Map的两种取值方式keySet和entrySet、HashMap 、Hashtable、TreeMap、LinkedHashMap、ConcurrentHashMap 、WeakHashMap
不多说,直接上干货! 这篇我是从整体出发去写的. 牛客网Java刷题知识点之Java 集合框架的构成.集合框架中的迭代器Iterator.集合框架中的集合接口Collection(List和Set). ...
- 牛客网Java刷题知识点之UDP协议是否支持HTTP和HTTPS协议?为什么?TCP协议支持吗?
不多说,直接上干货! 福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号: 大数据躺过的坑 Java从入门到架构师 人工智能躺过的坑 ...
- 牛客网Java刷题知识点之TCP、UDP、TCP和UDP的区别、socket、TCP编程的客户端一般步骤、TCP编程的服务器端一般步骤、UDP编程的客户端一般步骤、UDP编程的服务器端一般步骤
福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号: 大数据躺过的坑 Java从入门到架构师 人工智能躺过的坑 Java全栈大联盟 ...
- QQ兴趣部落 大批量引流实战技巧
兴趣部落,犹如pc端贴吧,除去盔甲,几乎大同小异. 在文章<QQ运动,新楛的马桶还在香,营销人不应摒弃>中,阿力推推对稍微僻静的平台做过简述,和QQ运动一样,兴趣部落稍显“僻静”,执行到位 ...
- Java生鲜电商平台-生鲜电商中商品类目、属性、品牌、单位架构设计与实战
Java生鲜电商平台-生鲜电商中商品类目.属性.品牌.单位架构设计与实战 说明:Java生鲜电商平台-生鲜电商中商品类目.属性.品牌.单位架构设计与实战经验分享 凡是涉及到购物,必然是建立在商品的基础 ...
- Java生鲜电商平台-高可用微服务系统如何设计?
Java生鲜电商平台-高可用微服务系统如何设计? 说明:Java生鲜电商平台高可用架构往往有以下的要求: 高可用.这类的系统往往需要保持一定的 SLA,7*24 时不间断运行不代表完全不挂,而是有一定 ...
- Java生鲜电商平台-电商数据运营统计与分析
Java生鲜电商平台-电商数据运营统计与分析 今天分享将会分为以下几个方面来阐述: 1. 作为运营我们需要统计与分析的几个核心数据是什么? 2. 核心数据对业务的指导价值在哪里呢? 3. 作为产品PM ...
- Java生鲜电商平台-电商中海量搜索ElasticSearch架构设计实战与源码解析
Java生鲜电商平台-电商中海量搜索ElasticSearch架构设计实战与源码解析 生鲜电商搜索引擎的特点 众所周知,标准的搜索引擎主要分成三个大的部分,第一步是爬虫系统,第二步是数据分析,第三步才 ...
- Java生鲜电商平台-电商会员体系系统的架构设计与源码解析
Java生鲜电商平台-电商会员体系系统的架构设计与源码解析 说明:Java生鲜电商平台中会员体系作为电商平台的基础设施,重要性不容忽视.我去年整理过生鲜电商中的会员系统,但是比较粗,现在做一个最好的整 ...
随机推荐
- kubepi访问
ko最新版本会默认安装kubepi,端口没有对外暴露,点击dashboard打开的就是默认安装的kubepi 如果安装了最新版本的ko,之前单独运行的kubepi就可以stop了
- 给 SSH 启用二次身份验证
转载自:https://mp.weixin.qq.com/s/ssuhFbfaHxxzGmLg6Y2MjA 目前来说,二次验证(这里就不做过多解释了)是比较常用的安全手段,通过设置二次验证(谷歌或其他 ...
- 第二章:视图层 - 6:QueryDict对象
类的原型:class QueryDict[source] 在HttpRequest对象中,GET和POST属性都是一个django.http.QueryDict的实例.也就是说你可以按本文下面提供的方 ...
- gitlab添加新用户
添加用户的时候没法给用户设置密码,可以等用户添加后,编辑用户的时候给用户设置密码 新用户首次登陆后需要重置密码 新用户登陆后是英文界面,设置成中文界面
- 驱动开发:内核CR3切换读写内存
首先CR3是什么,CR3是一个寄存器,该寄存器内保存有页目录表物理地址(PDBR地址),其实CR3内部存放的就是页目录表的内存基地址,运用CR3切换可实现对特定进程内存地址的强制读写操作,此类读写属于 ...
- 01_Typora学习
Typora学习 使用Typora 编辑器 一. 标题 一个#后加空格表示一级标题(快捷键Ctrl+1) 两个#后加空格表示二级标题(快捷键Ctrl+2) 以此类推,目前最多到六级标题(快捷键Ctrl ...
- 洛谷P2517 HAOI2010 订货 (费用流)
标准的费用流问题,关键在于巧妙地建模 一共有n个月份,源点设为0,汇点设为n+1 1.源点向所有月份连边,容量为正无穷,费用为该月进货的费用 2.每个月向下一个月连边,容量为仓库容量,费用为存货费用 ...
- java.lang.ClassNotFoundException:(新建的servlet无法找到class文件)的报错
该问题有可能是IDEA的部署没有更新的问题 将out中的 删除,然后重新导入即可
- 1.MongoDB之服务启动
1. 编写docker-compose.yaml文件 version: "3" services: mongo: image: mongo:4.2.6 ports: - 27017 ...
- 45.限流Throttling及源码解析
什么是限流? 限流类似于权限机制,它也决定是否接受当前请求,用于控制客户端在某段时间内允许向API发出请求的次数,也就是频率 假设有客户端(比如爬虫程序)短时间发起大量请求,超过了服务器能够处理的能力 ...