场景:需要在一网站中批量评论留言。

分析接口:

列表接口获取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刷评论为平台引流的经历的更多相关文章

  1. 牛客网Java刷题知识点之字符流缓冲区、BufferedWriter、BufferedReader、BufferedReader-readLine方法原理、自定义MyBufferedReader-read方法、自定义MyBufferedReader-readLine方法

    不多说,直接上干货! 把提高效率的动作,封装成一个对象.即把缓冲区封装成一个对象. 就是在一个类里封装一个数组,能对流锁操作数据进行缓存. 什么是字符流缓冲区? 善于使用字符流缓冲区,减轻负担,提高下 ...

  2. 牛客网Java刷题知识点之Map的两种取值方式keySet和entrySet、HashMap 、Hashtable、TreeMap、LinkedHashMap、ConcurrentHashMap 、WeakHashMap

    不多说,直接上干货! 这篇我是从整体出发去写的. 牛客网Java刷题知识点之Java 集合框架的构成.集合框架中的迭代器Iterator.集合框架中的集合接口Collection(List和Set). ...

  3. 牛客网Java刷题知识点之UDP协议是否支持HTTP和HTTPS协议?为什么?TCP协议支持吗?

    不多说,直接上干货! 福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号:   大数据躺过的坑      Java从入门到架构师      人工智能躺过的坑          ...

  4. 牛客网Java刷题知识点之TCP、UDP、TCP和UDP的区别、socket、TCP编程的客户端一般步骤、TCP编程的服务器端一般步骤、UDP编程的客户端一般步骤、UDP编程的服务器端一般步骤

    福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号:   大数据躺过的坑      Java从入门到架构师      人工智能躺过的坑         Java全栈大联盟   ...

  5. QQ兴趣部落 大批量引流实战技巧

    兴趣部落,犹如pc端贴吧,除去盔甲,几乎大同小异. 在文章<QQ运动,新楛的马桶还在香,营销人不应摒弃>中,阿力推推对稍微僻静的平台做过简述,和QQ运动一样,兴趣部落稍显“僻静”,执行到位 ...

  6. Java生鲜电商平台-生鲜电商中商品类目、属性、品牌、单位架构设计与实战

    Java生鲜电商平台-生鲜电商中商品类目.属性.品牌.单位架构设计与实战 说明:Java生鲜电商平台-生鲜电商中商品类目.属性.品牌.单位架构设计与实战经验分享 凡是涉及到购物,必然是建立在商品的基础 ...

  7. Java生鲜电商平台-高可用微服务系统如何设计?

    Java生鲜电商平台-高可用微服务系统如何设计? 说明:Java生鲜电商平台高可用架构往往有以下的要求: 高可用.这类的系统往往需要保持一定的 SLA,7*24 时不间断运行不代表完全不挂,而是有一定 ...

  8. Java生鲜电商平台-电商数据运营统计与分析

    Java生鲜电商平台-电商数据运营统计与分析 今天分享将会分为以下几个方面来阐述: 1. 作为运营我们需要统计与分析的几个核心数据是什么? 2. 核心数据对业务的指导价值在哪里呢? 3. 作为产品PM ...

  9. Java生鲜电商平台-电商中海量搜索ElasticSearch架构设计实战与源码解析

    Java生鲜电商平台-电商中海量搜索ElasticSearch架构设计实战与源码解析 生鲜电商搜索引擎的特点 众所周知,标准的搜索引擎主要分成三个大的部分,第一步是爬虫系统,第二步是数据分析,第三步才 ...

  10. Java生鲜电商平台-电商会员体系系统的架构设计与源码解析

    Java生鲜电商平台-电商会员体系系统的架构设计与源码解析 说明:Java生鲜电商平台中会员体系作为电商平台的基础设施,重要性不容忽视.我去年整理过生鲜电商中的会员系统,但是比较粗,现在做一个最好的整 ...

随机推荐

  1. Alertmanager篇

    报一直是整个监控系统中的重要组成部分,Prometheus监控系统中,采集与警报是分离的.警报规则在 Prometheus 定义,警报规则触发以后,才会将信息转发到给独立的组件 Alertmanage ...

  2. JuiceFS 在 Elasticsearch/ClickHouse 温冷数据存储中的实践

    企业数据越存越多,存储容量与查询性能.以及存储成本之间的矛盾对于技术团队来说是个普遍难题.这个难题在 Elasticsearch 与 ClickHouse 这两个场景中尤为突出,为了应对不同热度数据对 ...

  3. 如何理解「数字化是 IT 公司在给传统企业贩卖焦虑」?

    焦虑,不是IT公司贩卖给传统企业的!这个论断本身就不成立!数字化的动因是企业内部,生产中的七大浪费还不够么?数据不畅导致的决策失败还少吗?去问下企业业主,诸如此类的问题多了去了,数字化服务商只是来帮着 ...

  4. Js实现一键复制小功能

    function copyToClipboard(textToCopy) { // navigator clipboard 需要https等安全上下文 if (navigator.clipboard ...

  5. 2022-08-11-emo了

    layout: post cid: 7 title: emo了 slug: 7 date: 2022/08/11 10:14:00 updated: 2022/08/11 10:15:40 statu ...

  6. 同一台电脑安装两个不同版本的mysql。简单暴力有效

    1.先找到mysql的安装地址.找到my.ini 2.修改端口号(mysql默认端口是3306)我这里修改为3307 3.打开服务.找到刚刚修改的mysql版本 4.重新启动该服务(我已经安装了mys ...

  7. 恭喜磊哥喜提n+1

    昨天下午两点多磊哥突然喊我下楼,第一反应是"这孙子,抽烟就直说,还说个事,你以外你是吉祥村大姐啊". 心里骂完以后我慢慢悠悠下楼了,见他在打电话我先默默点上一支,准备待他结束以后对 ...

  8. 优雅处理Golang中的异常

    我们在使用Golang时,不可避免会遇到异常情况的处理,与Java.Python等语言不同的是,Go中并没有try...catch...这样的语句块,我们知道在Java中使用try...catch.. ...

  9. ES6 学习笔记(十二)代理器Proxy的简单使用

    1.前言 以前在学习react时做了个仿手机端的QQ音乐项目.当时的数据是通过proxy代理的QQ音乐数据接口,直接写在package.json里面.Proxy 对象(Proxy)是 ES6的特性,只 ...

  10. 重新整理 .net core 实践篇 ———— linux上排查问题实用工具 [外篇]

    前言 介绍下面几个工具: Lldb createdump dotnet-dump dotnet-gcdump dotnet-symbol Procdump 该文的前置篇为: https://www.c ...