WebCollector 网页正文提取算法(ContentExtractor)
来源:互联网 发布:通讯网络与设备是什么 编辑:程序博客网 时间:2024/06/08 11:19
WebCollector自2.10版起加入新闻网页正文自动提取功能(与hfut-dmic的ContentExtractor项目合并)。
WebCollector的正文抽取API都被封装为ContentExtractor类的静态方法。
可以抽取结构化新闻,也可以只抽取网页的正文(或正文所在Element)。
正文抽取效果指标 :
- 比赛数据集CleanEval P=93.79% R=86.02% F=86.72%
- 常见新闻网站数据集 P=97.87% R=94.26% F=95.33%
- 算法无视语种,适用于各种语种的网页
标题抽取和日期抽取使用简单启发式算法,并没有像正文抽取算法一样在标准数据集上测试。
源码可在https://github.com/CrawlScript/WebCollector中下载,也可在https://github.com/CrawlScript/WebCollector中下载webcollector-version-bin.zip,解压后导入所有jar包。
需要了解的两个类 :
- ContentExtractor : 封装了正文抽取算法和正文抽取的API,正文抽取API都被封装为ContentExtractor类的静态方法
- News : 结构化新闻对应的模型
DEMO(TutorialContentExtractor.java)如下 :
import cn.edu.hfut.dmic.contentextractor.ContentExtractor;import cn.edu.hfut.dmic.contentextractor.News;import cn.edu.hfut.dmic.webcollector.net.HttpRequest;/** * 本教程演示了从WebCollector 2.10起添加的新闻网页正文自动提取功能 * * @author hu */public class TutorialContentExtractor { /*输入HTML,输出制定网页结构化信息*/ public static void demo1() throws Exception { String url = "http://www.huxiu.com/article/121959/1.html"; HttpRequest request = new HttpRequest(url); String html = request.getResponse().getHtmlByCharsetDetect(); News news = ContentExtractor.getNewsByHtml(html, url); System.out.println(news); } /*输入URL,输出制定网页结构化信息*/ public static void demo2() throws Exception { String url = "http://www.huxiu.com/article/121959/1.html"; News news = ContentExtractor.getNewsByUrl(url); System.out.println(news); } /*输入HTML,输出制定网页的正文*/ public static void demo3() throws Exception { String url = "http://www.huxiu.com/article/121959/1.html"; HttpRequest request = new HttpRequest(url); String html = request.getResponse().getHtmlByCharsetDetect(); String content = ContentExtractor.getContentByHtml(html, url); System.out.println(content); //也可抽取网页正文所在的Element //Element contentElement = ContentExtractor.getContentElementByHtml(html, url); //System.out.println(contentElement); } /*输入URL,输出制定网页的正文*/ public static void demo4() throws Exception { String url = "http://www.huxiu.com/article/121959/1.html"; String content = ContentExtractor.getContentByUrl(url); System.out.println(content); //也可抽取网页正文所在的Element //Element contentElement = ContentExtractor.getContentElementByUrl(url); //System.out.println(contentElement); } public static void main(String[] args) throws Exception { demo1(); //demo2(); //demo3(); //demo4(); }}
想了解基于机器学习的网页正文提取算法,可以参考博客《网页抽取技术和算法》。
0 0
- WebCollector 网页正文提取算法(ContentExtractor)
- WebCollector 网页正文提取算法(ContentExtractor)
- WebCollector网页正文提取
- 网页正文提取算法介绍
- 网页正文及内容提取算法
- php实现的网页正文提取算法
- 网页正文提取
- 网页正文提取
- 网页正文提取
- 网页正文提取方案
- javascript 网页正文提取
- Python网页正文及内容图片提取算法
- 基于网页分析构思出的正文提取算法
- seo 提取 正文 算法
- C#第五次作业 提取网页正文
- 一种提取HTML网页正文的方法
- 网页正文提取——Html2Article
- 网页正文提取工具Beautiful Soup
- cocos2d-x 3.x C++和Lua通信方式:Lua堆栈正数索引和负数索引的关系和用法
- hdu 5444 Elven Postman
- selenium-webdriver(python) (十五) -- 鼠标事件
- android添加wifi热点管理黑白名单
- C++Primer第五版 9.3.4节练习
- WebCollector 网页正文提取算法(ContentExtractor)
- Z-Stack协议中事件和消息分析
- Java 完全数
- selenium-webdriver(python) (十六) --unittest 框架
- Java的poi技术读取和导入Excel简单实例
- 一段代码卡死安卓QQ 卡到手机QQ无响应
- [python] 0x3 Python Tutorial: Fuzzer
- linux命令大全
- C++Primer第五版 9.3.5节练习