12行代码获取CSDN博客标题、发布时间、阅读量

简介: 本文目录1. 场景2. 效果3. 速度4. 代码

1. 场景

CSDN统计数据不全,我个人是想要每篇文章每天的阅读量的,然后可以绘制每篇文章访问曲线图,自己慢慢研究分析。


所以写个爬虫,没想到这么简单,12行代码就搞定了,CSDN用心良苦啊!


2. 效果

先分析下我个人博客,爬取结果如下,至于存入数据库及图形化展示,后续准备弄个小项目,同时集成下其他博客平台自动获取数据的功能。


发布时间:2020-02-20 07:36:05 ---- 阅读量:164    ---- 标题:原创 SpringBoot之路系列文章--(更新至第10篇)

发布时间:2020-01-22 18:05:35 ---- 阅读量:441    ---- 标题:原创 Spring之路系列文章--(已完结,共50篇)

发布时间:2019-12-30 22:41:39 ---- 阅读量:245    ---- 标题:原创 Java Web开发入门系列教程--(已完结,共34篇)

发布时间:2019-11-11 22:38:19 ---- 阅读量:156    ---- 标题:原创 程序员数学系列--(更新至第29篇)

发布时间:2019-10-17 21:23:17 ---- 阅读量:568    ---- 标题:原创 C语言数据结构系列--(更新至第16篇)

发布时间:2019-10-08 20:51:01 ---- 阅读量:154    ---- 标题:原创 毛哥的快乐生活系列--(更新至第30篇)

发布时间:2019-09-22 21:01:31 ---- 阅读量:2116   ---- 标题:原创 Python语言入门系列--(已完结,共29篇)

发布时间:2020-03-06 15:45:44 ---- 阅读量:8      ---- 标题:原创 使用MyCat单库分表实战详解

发布时间:2020-03-06 11:32:26 ---- 阅读量:34     ---- 标题:原创 使用MyCat分库实战详解

发布时间:2020-03-06 10:00:39 ---- 阅读量:103    ---- 标题:原创 RabbitMQ安装过程详解

OK,试下CSDN博客排行榜第一的数据,也没问题


发布时间:2019-11-16 22:34:32 ---- 阅读量:2005   ---- 标题:原创 欢迎关注我的微信公众号"涛歌依旧",感谢大家支持和鼓励!

发布时间:2020-03-06 22:32:59 ---- 阅读量:23     ---- 标题:原创 异步log"丢失"之谜

发布时间:2020-03-06 22:31:43 ---- 阅读量:267    ---- 标题:原创 log丢失之谜

发布时间:2020-03-06 22:29:16 ---- 阅读量:15     ---- 标题:原创 如何查看tcp连接的建立时间?

发布时间:2020-02-24 22:57:04 ---- 阅读量:300    ---- 标题:原创 笔试面试之C语言

发布时间:2020-02-24 22:56:36 ---- 阅读量:443    ---- 标题:原创 金三银四求职季

发布时间:2020-02-24 22:56:12 ---- 阅读量:131    ---- 标题:原创 拳不离手, 曲不离口---26个字母和48个音标的发音练习

发布时间:2020-02-24 22:55:44 ---- 阅读量:79     ---- 标题:原创 “暗淡蓝点”三十年

发布时间:2020-02-15 10:34:03 ---- 阅读量:408    ---- 标题:原创 配音王者荣耀游戏宣传片

发布时间:2020-02-15 10:31:40 ---- 阅读量:163    ---- 标题:原创 配音提升工作效率的方法

3. 速度

因为我只是弄着玩,不考虑速度问题,我自己300多篇博客几秒完事了。如果需要提高速度的话,可以开个线程池。


爬取数据之前注意不要出于商业用途,也不要爬取人家的商业数据。像我就只分析下自己的博客数据,问题不大。


4. 代码

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


先导入maven依赖

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

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

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

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 {
    getDataFromCsdn();
   }
   /**
    * 获取CSDN博客访问信息
    */
   public static void getDataFromCsdn() throws IOException {
    int i = 1;//页码
    while (true) {
      Document doc = Jsoup.connect("https://studyingpanda.blog.csdn.net/article/list/" + i).get(); // 通过地址加载html文档
      Elements articleBoxs = doc.body().select(".article-item-box"); // 获取该页文章列表
      if (articleBoxs.size() == 0) {// 该页没有文章时结束
        break;
      }
      for (Element box : articleBoxs) {//遍历所有文章,并通过选择器获取相关元素信息,然后输出信息
        System.out.println(String.format("发布时间:%s ---- 阅读量:%-6s ---- 标题:%s", box.select(".date").first().text(),
            box.select(".num").first().text(), box.select("h4").first().text()));
      }
      i++;
    }
   }
}
相关文章
|
消息中间件 缓存 数据库
GitHub置顶半个月!78w字百亿级并发设计(全彩PDF),竟出自京东
想要设计一个高并发的系统,就要从根源出发。为什么会有高并发?高并发又有哪些厉害之处呢?其实很简单,刚开始系统都是连接数据库的,但是数据库在支撑到每秒并发两三千上万的时候,很多系统是支撑不住的。因此很多公司刚开始做的时候,技术如果不是很好,业务又发展太快,就有可能导致系统无法承受压力,发生宕机的情况,因此需要设计一个高并发的系统。
|
6月前
|
人工智能
一定要知道如何用ChatGPT编写标题, 快速提升公众号的爆款概率
一定要知道如何用ChatGPT编写标题, 快速提升公众号的爆款概率
|
存储 缓存 安全
短网址服务设计整理
短网址也称短链接、短链。由于短信、微博等平台,对于内容有长度限制,过长的url不适合直接在微信、短信等平台直接发送原始地址,需要缩短长度。转换后的短网址用于消息发送,也可以避免过多的无用信息影响用户体验。
313 0
|
数据采集
【安排】23行代码爬取知乎全部回答(内附源码和应用程序)
上个月行哥为了给大家推荐书单,1分钟爬取了知乎5646个回答,并统计出前十名推荐量最高的书单给大家分享,并且为了大家使用方便将该篇推文中的代码转成应用程序给大家使用,但是万万没想到 居然有小伙伴要求能不能直接让爬虫代码回答爬取下来做成应用程序
284 0
【安排】23行代码爬取知乎全部回答(内附源码和应用程序)
Hexo+Next主题 文章添加阅读次数,访问量等
本章所讲给文章设置阅读量,启用不蒜子统计,仅限于文章页面显示阅读书,在首页不显示。效果如下图所示: [图片上传中...(image-b928aa-1511232295463-1)] 打开 Hexo 目录下的 \themes\next\ _config.
3694 0
|
搜索推荐
【博客美化】02.公告栏显示个性化时间
【博客美化】02.公告栏显示个性化时间
136 0
【博客美化】02.公告栏显示个性化时间
|
JavaScript 前端开发 jenkins
[技术杂谈]最近一段时间值得分享的内容(4)
[技术杂谈]最近一段时间值得分享的内容(4)
244 0
[技术杂谈]最近一段时间值得分享的内容(4)
|
消息中间件 Java Docker
[技术杂谈]最近一段时间值得分享的内容(2)
[技术杂谈]最近一段时间值得分享的内容(2)
519 0
[技术杂谈]最近一段时间值得分享的内容(2)
|
NoSQL Java 应用服务中间件
[技术杂谈]最近一段时间值得分享的内容(3)
[技术杂谈]最近一段时间值得分享的内容(3)
167 0
[技术杂谈]最近一段时间值得分享的内容(3)
|
消息中间件 JavaScript Java
[技术杂谈]最近一段时间值得分享的内容(1)
[技术杂谈]最近一段时间值得分享的内容(1)
175 0
[技术杂谈]最近一段时间值得分享的内容(1)