import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StringReader;
import java.net.URL;
import java.nio.CharBuffer;
import java.util.HashMap;
import org.cyberneko.html.parsers.DOMParser;
import org.xml.sax.InputSource;
public class Crawler {
public static void main(String[] args) {
String url = "http://www.sina.com.cn";
getLinksByNeko(getPage(url, "gbk"));
}
public static String getPage(String url, String encoding){
BufferedReader in = null;
try {
in = new BufferedReader(new InputStreamReader(
new URL(url).openStream(),encoding));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
CharBuffer bos = CharBuffer.allocate(20480);
StringBuilder sb = new StringBuilder();
try {
while (in.read(bos) != -1) {
bos.flip();
sb.append(bos.toString());
}
} catch (IOException e1) {
e1.printStackTrace();
}finally{
if(in != null)
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return sb.toString();
}
private static void getLinksByNeko(String Page) {
DOMParser parser = new DOMParser();
HashMap<String,String> map = new HashMap<String,String>();
try {
parser.setFeature("http://xml.org/sax/features/namespaces", false);
StringReader sin = new StringReader(Page);
parser.parse(new InputSource(sin));
org.w3c.dom.Document doc = parser.getDocument();
org.w3c.dom.NodeList products = org.apache.xpath.XPathAPI
.selectNodeList(doc, "//A");
org.w3c.dom.Node node = null;
for (int i = 0; i < products.getLength(); i++) {
node = products.item(i);
map.put(node.getAttributes().getNamedItem("href").getNodeValue(),node.getTextContent());
}
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(map.toString());
System.out.println(map.size());
}
}
分享到:
相关推荐
赠送jar包:neko-htmlunit-2.27.jar; 赠送原API文档:neko-htmlunit-2.27-javadoc.jar; 赠送源代码:neko-htmlunit-2.27-sources.jar; 赠送Maven依赖信息文件:neko-htmlunit-2.27.pom; 包含翻译后的API文档:...
开源项目“neko-neko-godi.zip”是一个包含DI(Dependency Injection)容器的代码库,主要文件为“godi-master”。DI容器是软件设计模式中的一种,它在面向对象编程中扮演着至关重要的角色,特别是在Java和.NET等...
赠送jar包:neko-htmlunit-2.33.jar; 赠送原API文档:neko-htmlunit-2.33-javadoc.jar; 赠送源代码:neko-htmlunit-2.33-sources.jar; 赠送Maven依赖信息文件:neko-htmlunit-2.33.pom; 包含翻译后的API文档:...
《gladiatorplus-Neko98-master_deskq2j_neko_Neko1-3.1-release》是一款专为Windows系统设计的Linux模拟器,旨在让用户在Windows环境下体验Linux的Neko1-3.1发行版。这个项目的核心是将Linux环境与Windows操作系统...
- haXe 和 Neko 开发者如何利用文本编辑器和其他工具取代传统的 IDE。 - 自动化构建过程。 - 代码质量保证措施。 **2.7 More Interactive Content with JavaScript** - **更多交互内容与 JavaScript:** - ...
Learning and using Neko is very easy. You can easily extend the language with C libraries. The Virtual Machine is very lightweight and well optimized so it's fast! The VM can be easily embeded into ...
总的来说,"M3G2FBX_neko_" 是一个实用的工具,帮助游戏开发者跨越不同平台和软件之间的障碍,使得他们可以充分利用现有的M3G资源,提升开发效率,同时保持游戏的视觉质量。对于那些有大量M3G模型需要更新到现代游戏...
java运行依赖jar包
赠送jar包:neko-htmlunit-2.33.jar; 赠送原API文档:neko-htmlunit-2.33-javadoc.jar; 赠送源代码:neko-htmlunit-2.33-sources.jar; 赠送Maven依赖信息文件:neko-htmlunit-2.33.pom; 包含翻译后的API文档:...
赠送jar包:neko-htmlunit-2.27.jar; 赠送原API文档:neko-htmlunit-2.27-javadoc.jar; 赠送源代码:neko-htmlunit-2.27-sources.jar; 赠送Maven依赖信息文件:neko-htmlunit-2.27.pom; 包含翻译后的API文档:...
"cats1.pdf"可能会详细介绍nekogame的战斗模式,是回合制还是实时战斗,如何发动技能,以及如何利用策略战胜敌人。此外,可能还会涉及物品系统,包括装备、道具的获取、使用和升级方法,这些都会对玩家的游戏体验...
docs for the neko rpg 3
"NEKO.TXT"则可能是一个文本文件,通常用于提供软件的说明、许可协议或者开发者的信息。在这个场景下,它可能包含了关于"NEKO"软件的使用指南、注意事项,或者是开发团队的致谢和联系方式。用户在使用前应该先阅读这...
Neko虚拟机见快照构建可以在每个的摘要部分的“工件”链接中找到已编译的二进制文件。 对于macOS,可以在一个命令中使用构建最新的master分支的Neko快照: brew install neko --HEAD 。 它将安装所需的依赖项,构建...
注:下文中的 *** 代表文件名中的组件名称。 # 包含: 中文-英文对照文档:【***-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【***.jar下载地址(官方地址+国内镜像地址).txt】 ...
"cats2_neko_"可能是这款游戏的文档或资料包,为玩家提供更详尽的游戏背景、规则说明以及可能的攻略指南。下面我们将详细探讨《nek0 RPG 2》的相关知识点。 首先,我们要理解RPG(Role-Playing Game)的概念。RPG...
Neko RPGXP for android 是在由韩国友人开发的一款在谷歌市场上免费下载的RPGXP软件 仅供测试
neko8同样采用C++编程语言,旨在为用户带来类似的功能和体验,同时利用C++的强大性能和现代编程特性。 1. **幻想控制台概念**: 幻想控制台是模拟复古游戏机的软件工具,它们限制了资源(如颜色、声音和内存),...
Swift编程语言的特性使得neko应用能够充分利用macOS系统的功能,例如使用AppKit或SceneKit框架来实现动画效果,让小猫的行动看起来更加自然。开发者可能还利用Core Animation来优化视觉表现,以及使用Core Data来...
综上所述,"neko-server"是一个基于TypeScript的高级服务器应用,它利用现代Web开发的最佳实践,提供稳定、安全的网络服务。开发者通过精心设计的API、强大的错误处理和测试策略,以及优化的性能监控,确保了"neko-...