为了账号安全,请及时绑定邮箱和手机立即绑定

不吹不擂 15行代码搞定慕课网手记访问量统计

标签:
Java

背景

周末在家闲着,搞点事情,慕课网到底访问量多少,统计下,每一篇的,还有总数。

尝试了下15行代码就搞定了,SO EASY,这样后续可以起个定时器,每天获取一次访问数据,便于长期分析。

效果

先把我自己的手机爬了一遍,效果如下:

发布时间:2天前 ---- 阅读量:30       ---- 标题:使用MyCat单库分表实战详解 ---- url://www.imooc.com/article/301581
发布时间:2天前 ---- 阅读量:53       ---- 标题:使用MyCat分库实战详解 ---- url://www.imooc.com/article/301562
发布时间:2天前 ---- 阅读量:30       ---- 标题:RabbitMQ安装过程详解 ---- url://www.imooc.com/article/301561
发布时间:6天前 ---- 阅读量:30       ---- 标题:SpringBoot之路(7)–开发一个Restful Web项目 ---- url://www.imooc.com/article/301260
发布时间:6天前 ---- 阅读量:99       ---- 标题:SpringBoot之路(8)–使用Swagger2让咱滴测试和接口文档更轻松 ---- url://www.imooc.com/article/301311
发布时间:2020-03-01 ---- 阅读量:73       ---- 标题:SpringBoot之路(10)–配置文件使用说明 ---- url://www.imooc.com/article/301323
//太多了 省略一部分
发布时间:2016-12-12 ---- 阅读量:1558     ---- 标题:猫哥带你去战斗——Java Web开发——开发环境介绍[0] ---- url://www.imooc.com/article/15209
发布时间:2016-12-12 ---- 阅读量:1244     ---- 标题:猫哥带你去战斗——Java Web开发——前言[0] ---- url://www.imooc.com/article/15197
发布时间:2016-01-30 ---- 阅读量:3655     ---- 标题:猫哥带你去战斗——自传[0] ---- url://www.imooc.com/article/4633
访问总数:276504

然后尝试下对慕课网官方爬取数据,也OK。

发布时间:2天前 ---- 阅读量:42       ---- 标题:Java架构师免费直播 | 深入探究线程池,攻克面试高频难点 ---- url://www.imooc.com/article/301569
发布时间:2天前 ---- 阅读量:1573     ---- 标题:【前端小白专属福利】限时1元!零基础轻松入门 ---- url://www.imooc.com/article/301568
发布时间:3天前 ---- 阅读量:1254     ---- 标题:人手一份!小白入门Java必备攻略! ---- url://www.imooc.com/article/301523
发布时间:4天前 ---- 阅读量:3127     ---- 标题:2020年就业新方向,这16个新职业要火!看看他们跟Python的关系 ---- url://www.imooc.com/article/301463
发布时间:2020-02-28 ---- 阅读量:2215     ---- 标题:视频直播|7七月讲MySQL与SQL进阶知识 ---- url://www.imooc.com/article/301247
发布时间:2020-02-27 ---- 阅读量:4174     ---- 标题:三大编程语言行业薪资分析,零基础学编程,我该如何入门? ---- url://www.imooc.com/article/301173
发布时间:2020-02-24 ---- 阅读量:355      ---- 标题:慕春学习季,充电好时机,3650元优惠券奉上,最高立减1500---- url://www.imooc.com/article/301038
发布时间:2020-02-21 ---- 阅读量:4397     ---- 标题:这才是前端跳槽面试的正确打开方式,面完涨薪30%---- url://www.imooc.com/article/300954
发布时间:2020-02-19 ---- 阅读量:971      ---- 标题:三大热门语言,1元体验零基础入门! ---- url://www.imooc.com/article/300851

代码

使用的Jsoup,因为这个库足够简单,后续再研究下其他的库。

先导入maven依赖

<dependency>
  <!-- jsoup HTML parser library @ https://jsoup.org/ -->
  <groupId>org.jsoup</groupId>
  <artifactId>jsoup</artifactId>
  <version>1.13.1</version>
</dependency>

然后代码如下,非常简单,我就不详解了。老铁们使用的时候将https://www.imooc.com/u/2242938替换成你自己的博客主页地址即可。

另外有用代码确实只有15行,没有夸大哈。

package org.maoge.myspace.utils;

import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

/**
 * Jsonup工具类
 */
public class JsoupUtil {
	public static void main(String[] args) throws IOException {
		getDataFromImooc();
	}


	/**
	 * 获取慕课网访问数据
	 */
	public static void getDataFromImooc() throws IOException {
		int count=0;
		int i = 1;
		while (true) {
			Document doc = Jsoup.connect("https://www.imooc.com/u/2242938?page=" + i).get(); // 通过地址加载html文档
			Elements articleBoxs = doc.body().select(".discovery-box"); // 获取页码所在文章列表
			if (articleBoxs.size() == 0) {// 没有文章时跳出
				break;
			}
			for (Element box : articleBoxs) {
				System.out.println(String.format("发布时间:%s ---- 阅读量:%-8s ---- 标题:%s ---- url:%s",
						box.select(".feed-time").first().text(), box.select(".article-count").first().text().replace("浏览 ", ""),
						box.select(".article-tit").first().text(), box.select("a").get(2).attr("href")));
				count+=Integer.parseInt(box.select(".article-count").first().text().replace("浏览 ", ""));
			}
			i++;
		}
		System.out.println("访问总数:"+count);
	}
}

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消