全体 OSChina 官方程序员都吓屎了,因为红薯又写代码了。这次他撸了个 HtmlSucker ,这个名字一听就很猥琐有没有。而且其实也没什么x用,无非就是在不知道 HTML 页面规则的情况下,从一个 HTML 网页中提取文章的正文信息。用来干嘛呢? 反正肯定跟爬虫有关。
授权协议:WTFPL
开发语言:Java
操作系统:跨平台
软件作者:红薯
简介
HtmlSucker 是一个用来从一个网页中提取文章信息的小工具包,例如从网页中提取文章标题、作者、发布时间、 封面图以及文章正文内容。基于 jsoup 库进行 HTML 解析。
HtmlSucker 提取文章正文的原理:分析整个 HTML 文档的所有节点,提取其中包含最多文字的的连续节点。
本项目部分代码参考 Crux 项目,例如 HeuristicString 类。
示例代码:
public static void main(String[] args) throws IOException {
String url = "https://www.oschina.net/news/92798/micro-match-1-0-1-released";
System.out.println(HtmlSucker.parse(url, 20000));
}
输出结果:
title:撮合平台 1.0.1 发布 暴露远程调用接口 - 开源中国社区
keywords:开源中国,micro-match,撮合平台 1.0.1 发布 暴露远程调用接口
description:撮合平台 1.0.1 发布 暴露远程调用接口并优化撮合条数算法 1,挂买单接口 2,挂卖单接口 3,撮合接口 4,撮合结果查询接口 详见:https://my.oschina.net/jeffreyning/blog/1612810...
author:
date:null
image:https://www.oschina.net/img/logo_s2.png
content:
<p style="margin:0 0 10px 0;"><a data-traceid="news_detail_above_text_link_1" data-tracepid="news_detail_above_text_link" style="color:#A00;font-weight:bold;" href="http://click.aliyun.com/m/18500/" target="_blank">阿里云高性能云服务器,2折起! >>> >>></a> <img src="https://my.oschina.net/img/hot3.png" align="" style="max-height: 32px; max-width: 32px;"></p>
<p>撮合平台 1.0.1 发布 暴露远程调用接口并优化撮合条数算法</p>
<p>1,挂买单接口</p>
<p>2,挂卖单接口</p>
<p>3,撮合接口</p>
<p>4,撮合结果查询接口</p>
<p>详见:<a data-cke-saved-href="https://my.oschina.net/jeffreyning/blog/1612810" href="https://my.oschina.net/jeffreyning/blog/1612810" target="_blank">https://my.oschina.net/jeffreyning/blog/1612810</a></p>
听说第一个版本还很弱智,原理是计算最大文本节点的方式来获取正文信息。(就这也好意思发布一个项目,难道欺负我朝无人吗?)
HtmlSucker 0.0.1 发布
Maven:
<dependency>
<groupId>net.oschina.htmlsucker</groupId>
<artifactId>HtmlSucker</artifactId>
<version>0.0.1</version>
</dependency>
示例代码:
public static void main(String[] args) throws IOException {
String url = "https://www.oschina.net/news/92798/micro-match-1-0-1-released";
System.out.println(HtmlSucker.parse(url, 20000));
}
源码地址:https://gitee.com/ld/HtmlSucker
对于红薯又偷偷出来写代码这事,巴叔已经忍无可忍了:
这个项目怎么样?大家快来留言吐槽啊!