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

分析接口:

列表接口获取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. 解决centos系统突然间网络不通的问题:Global IPv6 forwarding is disabled in configuration, but not currently disabled in kernel

    问题描述:公司里的一台centos 7.6主机,连接公司的路由器,里面设置的静态ip,之前用的好好的,但是有一次突然间ping不通了,之前是可以ping通的. 问题分析: 查看网络配置文件: TYPE ...

  2. ElastAlert监控日志告警Web攻击行为---tomcat和nginx日志json格式

    一.ELK安装 1.2 elk配置 logstash自定义配置文件,取名为filebeat_log.conf : input { beats { port => 5044 client_inac ...

  3. 初试 Prometheus + Grafana 监控系统搭建并监控 Mysql

    转载自:https://cloud.tencent.com/developer/article/1433280 文章目录1.Prometheus & Grafana 介绍1.1.Prometh ...

  4. C++ STL 概述_严丝合缝的合作者们

    1. 初识 STL 什么是STL? STL(Standard Template Library) 是C++以模板形式提供的一套标准库,提供了很多开发过程需要的通用功能模块.使用 STL ,可以让开发者 ...

  5. NSIS查找文本中是否包含某个字串

    !include "textfunc.nsh"!include "logiclib.nsh"OutFile "find.exe"#文本文件a ...

  6. POJ2823 滑动窗口 (单调队列)

    来学习一下单调队列: 他只可以从队尾入队,但可以从队尾或队首出队,来维护队列的单调性.单调队列有两种单调性:元素的值单调和元素的下标单调. 单调队列可以用来优化DP.状态转移方程形如dp[i]=min ...

  7. BLS签名算法

    前言 [失踪人口回归 (*/ω\*)] 真的好久好久没有更新了,因为自己也还在找方向,但还是把新学的知识记录在博客里.今天要介绍的是BLS签名算法. 一.BLS签名算法简介 BLS签名算法[1]是由斯 ...

  8. SQL优化步骤

    当生产数据量急剧增长后,很多SQL语句可能会开始暴露出性能问题.当面对一个有SQL性能问题的数据库时,应该从何处入手进行系统的分析,使得能够尽快定位到问题SQL处并尽快解决问题? 第一步:查看SQL执 ...

  9. Ajax的使用(jquery的下载)

    Ajax学习笔记(jquery的下载) JQuery的官网下载 地址:http://jquery.com 右上角的"Download JQuery" 三个可供下载的文件: Prod ...

  10. Vue学习之--------Vue中自定义插件(2022/8/1)

    文章目录 1.插件的基本介绍 2.实际应用 2.1 目录结构 2.2 代码实例 2.2.1 学校组件(School.vue) 2.2.2 学生组件(Student.vue) 2.2.3 定义的插件 2 ...