- 浏览: 561751 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (478)
- lucene (45)
- oracle (19)
- nutch (2)
- blog (2)
- 垂直搜索 (19)
- java综合 (89)
- spring (15)
- Hibernate (9)
- Struts (9)
- Hadoop (16)
- Mysql (12)
- nosql (10)
- Linux (3)
- MyEclipse (4)
- Ant (1)
- 设计模式 (19)
- JBPM (1)
- JSP (1)
- HtmlParser (5)
- SVN (2)
- 插件 (2)
- 收藏 (7)
- Others (1)
- Heritrix (18)
- Solr (4)
- 主题爬虫 (31)
- 内存数据库 (24)
- 分布式与海量数据 (32)
- httpclient (14)
- Tomcat (1)
- 面试宝典 (6)
- Python (14)
- 数据挖掘 (1)
- 算法 (6)
- 其他 (4)
- JVM (12)
- Redis (18)
最新评论
-
hanjiyun:
本人水平还有待提高,进步空间很大,看这些文章给我有很大的指导作 ...
JVM的内存管理 Ⅲ -
liuxinglanyue:
四年后的自己:这种方法 不靠谱。 使用javaagent的方式 ...
计算Java对象占用内存空间的大小(对于32位虚拟机而言) -
jaysoncn:
附件在哪里啊test.NoCertificationHttps ...
使用HttpClient过程中常见的一些问题 -
231fuchenxi:
你好,有redis,memlink,mysql的测试代码吗?可 ...
MemLink 性能测试 -
guyue1015:
[color=orange][/color][size=lar ...
JAVA同步机制
从已经建立完成的html树中抽取主信息。
package Source; public class ChooseBlock { //构造方法,设置允许错误率 public ChooseBlock(double th) { threshold = th; } //获取一棵html树中的内容 public String getContent(HTree tree) { int maxIndex = 0; String str = ""; String contBlock[] = tree.getBlock(); sizeBlock = getSizeBlock(contBlock); int len = sizeBlock.length; int aid[] = new int[len]; staBlock = new boolean[len]; iniStaBlock(); double val = calError(); //方差必须大于阈值,才认为有主要内容 if(val < threshold) return null; int i = 0; double max = 0.0; do { //获得当前最可能的块 int index = getIndex(); aid[i] = index; setBlock(index); double tmp = val; val = calError(); double err = tmp - val; if(err > max) { max = err; maxIndex = i; } if(err > val) break; i++; } while(true); //选出来的块信息集合 for(i = 0; i <= maxIndex; i++) { int index = aid[i]; str = (new StringBuilder(String.valueOf(str))).append("\n").append(contBlock[index]).toString(); } return str; } //获取每一信息块长度 private int[] getSizeBlock(String contBlock[]) { int len = contBlock.length; int sizeBlock[] = new int[len]; for(int i = 0; i < len; i++) sizeBlock[i] = contBlock[i].length(); return sizeBlock; } //设置已被处理块 private void setBlock(int index) { staBlock[index] = true; } //初始化块 private void iniStaBlock() { int len = staBlock.length; for(int i = 0; i < len; i++) staBlock[i] = false; } //计算错误率,以方差记 private double calError() { int sum = 0; int num = 0; int len = sizeBlock.length; //获得还未被选取块个数及其总长度 for(int i = 0; i < len; i++) if(!staBlock[i]) { num++; sum += sizeBlock[i]; } //定义还未被选取块平均长度 double avg = (double)sum / (1.0 * (double)num); //计算方差 double err = 0.0; for(int i = 0; i < len; i++) if(!staBlock[i]) { double val = (double)sizeBlock[i] - avg; val *= val; err += val; } //归一化 return Math.sqrt(err) / (1.0 * (double)num); } //获取最大未被选块的下标 private int getIndex() { int index = 0; int max = 0; int len = sizeBlock.length; for(int i = 0; i < len; i++) if(!staBlock[i] && sizeBlock[i] > max) { max = sizeBlock[i]; index = i; } return index; } private double threshold; int sizeBlock[]; boolean staBlock[]; }
发表评论
-
真正属于主题爬虫的圈子
2010-12-15 14:46 4821主题爬虫圈子:http://fcrawl.group.i ... -
判断网页的编码(转)
2010-12-04 21:11 973判断网页的编码我们主要是为了在解析网页时出现一些乱码问题。主要 ... -
java获取网页主信息之五:测试(转)
2010-12-04 21:09 9241.所需文件 param.txt:存放需要提取信息的网 ... -
java获取网页主信息之三:html to tree(转)
2010-12-04 21:07 10851.所需文件 param.txt:存放需要提取信息的网 ... -
java获取网页主信息之二:辅助操作(转)
2010-12-04 21:06 9051.栈操作 package Source; ... -
java获取网页主信息之一:html树操作[转]
2010-12-04 21:03 11431.节点操作 package Source; ... -
主题爬虫
2010-11-29 09:19 1102昨天刚创建了一个主题爬虫的群,欢迎对主题爬虫感兴趣的朋友加入, ... -
数学之美系列 二十三 输入一个汉字需要敲多少个键 — 谈谈香农第一定律
2010-11-26 22:33 830今天各种汉字输入法已 ... -
数学之美系列二十二 由电视剧《暗算》所想到的 — 谈谈密码学的数学原理
2010-11-26 22:32 1060前一阵子看了电视剧《暗算》,蛮喜欢它的构思和里面的表演。其中有 ... -
数学之美系列二十一 - 布隆过滤器(Bloom Filter)
2010-11-26 22:32 884在日常生活中,包括在 ... -
数学之美 系列二十 -自然语言处理的教父 马库斯
2010-11-26 22:31 881我们在前面的系列中介 ... -
数学之美 系列十九 - 马尔可夫链的扩展 贝叶斯网络 (Bayesian Networks)
2010-11-26 22:31 904我们在前面的系列中多次提到马尔可夫链 (MarkovChain ... -
数学之美 系列十八 - 矩阵运算和文本处理中的分类问题
2010-11-26 22:30 857我在大学学习线性代数 ... -
数学之美 系列十七 不要把所有的鸡蛋放在一个篮子里 -- 谈谈最大熵模型 (下)
2010-11-26 22:30 840我们上次谈到用最大熵 ... -
数学之美 系列十七 闪光的不一定是金子 谈谈搜索引擎作-弊问题(Search Engine Anti-SPAM)
2010-11-26 22:29 879自从有了搜索引擎,就 ... -
数学之美 系列十六 (下)- 不要把所有的鸡蛋放在一个篮子里 最大熵模型
2010-11-26 22:27 929我们上次谈到用最大熵 ... -
数学之美 系列十五 繁与简 自然语言处理的几位精英
2010-11-26 22:26 899我在数学之美系列中一直强调的一个好方法就是简单。但是,事实上, ... -
数学之美 十四 谈谈数学模型的重要性
2010-11-26 22:25 794[注:一直关注数学之美 ... -
数学之美 系列十三 信息指纹及其应用
2010-11-26 22:25 825任何一段信息文字,都 ... -
数学之美 系列 12 - 余弦定理和新闻的分类
2010-11-26 22:24 939余弦定理和新闻的分类 ...
相关推荐
这不仅能够优化用户体验,节省浏览时间,还能提高用户获取信息的效率,进而提升Web的可用性。 在使用HTMLParser时,首先需要从指定的源下载HTMLParser的jar文件,如`http://HTMLParser.sourceforge.net/`,并将该...
在实际应用中,基于Java的文本抽取系统可以通过以下步骤构建:(1) 数据收集,获取大量网页样本;(2) 数据预处理,清洗HTML标签,提取纯文本;(3) 特征工程,提取文本特征,如词频、TF-IDF值等;(4) 训练模型,使用...
通过上述方法,HTMLParser可以帮助开发者构建一个高效的信息抽取系统,准确地提取网页的正文信息,提高用户获取信息的效率,提升Web的可用性。在实际应用中,开发者可以根据具体需求进一步定制过滤规则和内容相关性...
根据哈工大信息检索实验室陈鑫童鞋的《基于行块分布函数的网页正文内容提取》和其实现的JAVA代码改写而来,此版本为VB.NET~~~~喜欢的童鞋可以下载了~~~多多支持啊~~~有什么建议可以联系偶~~~QQ:99217290,小志~~~
流是一种处理大量数据的方式,特别是对于大文件如图片,它允许数据逐块传输而不是一次性加载到内存中,这样可以有效避免内存溢出。Java中的InputStream和OutputStream类是处理流的关键。 3. **Web服务获取图片的...
根据给定的文件信息,本篇文档主要内容围绕“基于Java的在线考试系统的设计与实现”展开,讨论了从系统设计到实现的整个过程。文档中提到了多个与Java在线考试系统相关的技术点和概念。 知识点一:系统设计与实现的...
书名:《Java开发实战1200例(第I卷)》(清华大学出版社.李钟尉,陈丹丹) PDF格式扫描版,全书分为24章,共817页。2011年1月出版。 全书压缩打包成4部分,这是第3部分 注:本系列图书的第I、II卷再版时均相应改名为...
- **反射技术**:Java反射机制允许程序在运行时动态获取类的信息,并操作类的对象。 - **封装**:将数据和操作数据的方法绑定在一起,隐藏内部实现细节。 - **继承**:子类继承父类的特性,实现代码复用。 - **多态*...
- **JDK (Java Development Kit)**:Java开发工具包,包含了编译、运行Java程序所需的所有工具。 - **IDE (Integrated Development Environment)**:集成开发环境,是用于提供全面设施来创建、调试和维护应用程序的...
这个过程涉及到了HTTP协议,因为网络爬虫需要发送请求到服务器获取网页内容。 在这个项目中,我们选择了Java作为开发语言。Java以其跨平台的特性、丰富的库支持和强大的多线程能力,成为构建网络爬虫的理想选择。...
- 使用Cookie(人工申请)获取网页内容。 #### 三、分布式爬虫架构设计 ##### 1. 主从架构 - **组成部分**: - 主控制器(Master):统一管理整个爬虫系统的运行状态。 - 终端(Slave):负责具体的信息采集,...
Web报表B/S系统采用这种模式,使得用户只需打开网页就能查看和操作报表,降低了对客户端环境的要求。 2. **报表设计**:Web报表通常包含多种图表、表格和图形,以直观地展示复杂的数据。设计工具支持拖拽式布局,...
对于数据分析任务,它可以快速抽取网页中的关键数据。 了解并掌握Crouton库,对于Clojure开发者来说,意味着能更好地驾驭HTML处理,提高生产力,并为处理Web相关的任务提供强大支持。使用Crouton时,可以通过官方...
IText是一款广泛使用的Java库,专门用于处理PDF文档。它提供了丰富的API,使得开发者能够创建、编辑、解析和展示PDF文档。在这个“IText学习资料”压缩包中,你将找到一系列关于如何利用IText进行PDF和Word操作的...
1.3.7 抽取单独的代码块 16 1.4 使用文件将函数分类 16 1.5 编写文档 17 1.6 一个API设计实例 18 1.7 小结 22 第2章 高级语法 23 2.1 PHP语法 23 2.2 定义常量 24 2.3 数组函数 25 2.4 PHP和OOP 31 2.4.1 类:...
1.3.7 抽取单独的代码块 16 1.4 使用文件将函数分类 16 1.5 编写文档 17 1.6 一个API设计实例 18 1.7 小结 22 第2章 高级语法 23 2.1 PHP语法 23 2.2 定义常量 24 2.3 数组函数 25 2.4 PHP和OOP 31 2.4.1 类:...
"annotation"(注解)在Java等语言中用于提供元数据,帮助编译器或开发工具进行代码分析。"persistent"(持久的)指的是数据能够跨程序或系统重启保持其状态,如数据库中的数据。"transient"(瞬时的)则相反,指不...