背景
周末在家闲着,搞点事情,慕课网到底访问量多少,统计下,每一篇的,还有总数。
尝试了下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);
}
}