前几天写了一个《Java抽取HTML内容》的文章,路径是
http://javapub.iteye.com/blog/719658。在此基础上做了一个Baidu的关键词抽取工具。可以抽取和查询百度的风云榜。这里也是在尝试着去开发一个Java的搜索引擎(大家见笑了),首先从关键词排名入手吧。界面如图:
原理也不难,
1.从网络定位输入流,并读取这个输入流。
URL url = new URL(urlPath);
// 以特定格式读取文件流。
InputStreamReader isr = new InputStreamReader(url.openStream(),
"gb2312");
BufferedReader br = new BufferedReader(isr);
这里我们读取的是baidu的输入流,自然用bgb2312格式,以后可以做的更加智能一些,自动判断流的格式。
2.定位内容
这里我们是定位baidu风云榜的内容,所以比较准确,以后更加复杂的搜索引擎定位算法,那是以后考虑的事情了。
if ("".equals(s.trim())) {
continue;
} else if ("<tbody id=\"listdata\">".equals(s.trim())) {
beginFind = true;
} else if ("</tbody>".equals(s.trim())) {
break;
}
3.解析内容
利用正则表达式删除我们关心的内容中的所有标签,留下内容。
private static String findContent(String html) {
// 配置html标记。
Pattern p = Pattern.compile("<(\\S*?)[^>]*>.*?| <.*? />");
Matcher m = p.matcher(html);
String rs = new String(html);
// 找出所有html标记。
while (m.find()) {
// 删除html标记。
rs = rs.replace(m.group(), "");
}
return rs;
}
4. 展示内容
根据我们得到的内容,用表格的形式展示,表格的形式是挺好看,但不好保存,这点随后的版本会考虑保存的问题,现在就先这样吧。这里用到了我以前写的一个JTable的jar包,可以方便的生成一个可以自动排序的JTable。
tableOp = new DefaultZTableFactory();
// 设置table信息生成Table。
tableOp.setTableInfors(tableHeader, tableBody, colWidth);
// 得到Table。
ztable = tableOp.getZTable();
// 设置Table的样式, 隔行变色。
tableOp.setTableStyle(ztable);
5. 附件是源码和打包好的EXE文件,欢迎大家交流。
6. 相关内容
《Eclipse 打第三方Jar包 插件 net.sf.fjep.fatjar》
http://javapub.iteye.com/blog/712695,将第三方的Jar包,打入我们自己的Jar包中。
《Eclipse 将Jar包打成Exe运行 exe4j》
http://javapub.iteye.com/blog/712729,将一个Jar包打成EXE文件。
《Swing JTable工厂(table4j)》
http://javapub.iteye.com/blog/686157,一个JTable工厂,生成自动排序,隔行变色的JTable,并可以线程安全的操作JTable的增删改查。
文章地址:
http://javapub.iteye.com/blog/721465
分享到:
相关推荐
百度关键词采集则特指在中国市场中,针对百度搜索引擎进行的关键词研究。百度作为中国最大的搜索引擎,其搜索行为和用户偏好可能与其他国际搜索引擎有所不同,因此,专门针对百度的关键词采集就显得尤为重要。了解...
在本项目实践中,我们将深入探讨如何使用Java编程语言来实现一个人工智能应用,具体目标是构建一个搜索引擎排名抓取工具,它可以获取特定关键词在百度和360搜索引擎上的对应网站排名。这个工具对于SEO(搜索引擎优化...
在IT行业中,与“百度搜索接口java后台”相关的知识点涵盖了搜索引擎接口的使用、Java编程语言以及后台服务开发。本文将详细解析这些关键概念,并提供如何使用Java后台来对接百度搜索接口的方法。 首先,我们需要...
"java经典项目源码百度云.zip"这个压缩包显然包含了一系列与Java相关的经典项目源码,这对于初学者和有经验的开发者来说都是极其宝贵的资源。下面,我们将深入探讨这些标签所涵盖的知识点,并结合可能包含的文件...
本文将详细讨论“百度关键词数据采集源码”的相关知识点,包括数据采集原理、使用工具、实现步骤以及潜在的应用场景。 首先,我们要了解什么是“百度关键词数据采集”。这涉及到搜索引擎营销(SEM)中的关键词研究...
Java的`java.util.concurrent`包提供了并发工具类,如`ExecutorService`和`Future`,可以用来实现异步操作。 8. **UI设计**:如果这是一个完整的应用,那么UI设计也是重要的一部分。Java Swing或JavaFX提供了丰富的...
本项目是一个基于Java编写的百度收录查询工具,它可以帮助开发者或网站管理员快速了解自己的网页在百度搜索引擎中的收录状态。下面我们将详细探讨这个项目的实现原理和技术栈。 首先,该项目的核心功能是通过发送...
总的来说,这个Java项目为SEO专业人士提供了一个实用工具,帮助他们追踪关键词排名、理解检索排名机制,并对目标网址进行模拟访问。理解并运用这些知识和技术,将有助于提升网站的在线可见性和流量。
JDK是Java开发的工具包,包含了编写Java程序所需的编译器(javac)、运行环境(JRE)和其他工具。JRE是Java程序运行时环境,包含了Java虚拟机(JVM)和运行Java程序所必需的类库和组件。 JVM是Java程序能够跨平台...
书中的内容分为多个章节,从Java编程平台的介绍开始,解释了Java的“白皮书”关键词,如简单性、面向对象、分布式、健壮性、安全性、架构中立、可移植性、解释性、高性能、多线程和动态性。接着,书中详细介绍了Java...
首先,我们来看“baidu.java”这一文件名,可以推测这包含了一个使用Java编写的Selenium测试脚本,可能用于模拟用户与百度网站的交互。在Java中,我们可以使用Selenium的WebDriver接口来控制浏览器,如Chrome或Fire...
下面我们将深入探讨如何利用这些模板来创建一份有效的Java简历,并分享一些编写Java简历的关键知识点。 首先,简历的结构至关重要。一个好的Java简历应该包括以下几个部分: 1. **个人信息**:包括全名、联系方式...
总的来说,这个“手机归属地查询JAVA版”是一个使用Java编写的、能够批量查询并导出手机号码归属地信息的应用。它可能依赖于百度的服务来获取准确的数据,并且提供了源代码供学习和研究。用户需要了解基本的Java运行...
【描述】"tts_java_demo语音合成为Java demo" 表明这个压缩包包含了一个基于Java编写的示例程序,用于演示如何在实际项目中集成和使用TTS功能。通常,这样的demo会包含必要的代码、配置文件以及可能的库或框架,帮助...
JSP(Java Server Pages)技术的推出进一步巩固了Java作为Web应用首选开发工具的地位。 1-1 Java语言简介 Java的特点包括: 1. 简单性:Java语法清晰,易于学习和理解。 2. 面向对象:一切都是对象,支持封装、...
在这个场景下,我们关注的是如何使用Java编程语言来实现一个能够获取关键字在百度搜索结果中的排名的功能。下面将详细介绍这个主题,以及涉及到的相关知识点。 首先,我们要理解`GetOrder.java`和`GetPageByUrl....
首先,让我们逐一解析标签中的关键词,这些关键词代表了Java学习中的一些关键技术和工具: 1. **Java**:Java是一种面向对象的、跨平台的编程语言,由Sun Microsystems(现为Oracle公司)于1995年推出。它的设计...
### 百度搜索引擎Java编程知识点解析 #### 一、百度搜索基本原理 百度作为国内领先的搜索引擎,其核心技术主要包括以下几个方面: 1. **网页抓取**:通过编写爬虫程序自动从互联网上抓取大量网页数据。这一步骤是...
"一个简单的JAVA爬虫项目,爬取微博热搜,百度等网页的热搜词" 这个标题揭示了我们关注的是一个基于Java语言的编程项目,其主要功能是抓取网络上的实时热点信息,特别是来自微博和百度等知名网站的热搜关键词。...