热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:JavaWebCrawler库

篇首语:本文由编程笔记#小编为大家整理,主要介绍了JavaWebCrawler库相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Java Web Crawler库相关的知识,希望对你有一定的参考价值。



我想为实验制作一个基于Java的网络爬虫。我听说如果这是你第一次使用Java制作一个Web爬虫是可行的方法。但是,我有两个重要问题。



  1. 我的程序如何“访问”或“连接”到网页?请简要说明一下。 (我理解从硬件到软件的抽象层的基础知识,这里我对Java抽象感兴趣)

  2. 我应该使用哪些库?我想我需要一个用于连接网页的库,一个用于HTTP / HTTPS协议的库和一个用于html解析的库。


答案

这是您的程序如何“访问”或“连接”到网页。

URL url;
InputStream is = null;
DataInputStream dis;
String line;
try {
url = new URL("http://stackoverflow.com/");
is = url.openStream(); // throws an IOException
dis = new DataInputStream(new BufferedInputStream(is));
while ((line = dis.readLine()) != null) {
System.out.println(line);
}
} catch (MalformedURLException mue) {
mue.printStackTrace();
} catch (IOException ioe) {
ioe.printStackTrace();
} finally {
try {
is.close();
} catch (IOException ioe) {
// nothing to see here
}
}

这将下载html页面的源代码。

对于HTML解析,请参阅this

还可以看看jSpider和jsoup


另一答案

我认为jsoup比其他人更好,jsoup运行Java 1.5及更高版本,Scala,android,OSGi和Google App Engine。


另一答案

以下是可用爬虫的列表:

https://java-source.net/open-source/crawlers

但我建议使用Apache Nutch


另一答案

Crawler4j是最适合您的解决方案,

Crawler4j是一个开源Java爬虫,它为爬网提供了一个简单的界面。您可以在5分钟内设置多线程Web爬虫!

还有visit.更多基于Java的网络爬虫工具和每个的简要说明。


另一答案

对于解析内容,我使用的是Apache Tika。


另一答案

现在有一个包含许多基于Java的HTML解析器,支持访问和解析HTML页面。



  • Jsoup

  • Jaunt API

  • HtmlCleaner

  • JTidy

  • NekoHTML

  • TagSoup

Here's是基本比较的HTML解析器的完整列表。


另一答案

我建议你使用HttpClient library。你可以找到here的例子。


另一答案

我更喜欢crawler4j。 Crawler4j是一个开源Java爬虫,它为爬网提供了一个简单的界面。您可以在几个小时内设置多线程Web爬网程序。


另一答案

如果您想了解如何完成这些项目,请查看这些现有项目:



  • Apache Nutch

  • crawler4j

  • gecco

  • Norconex HTTP Collector

  • vidageek crawler

  • webmagic

  • Webmuncher

典型的爬虫过程是一个循环,包括提取,解析,链接提取和输出处理(存储,索引)。虽然魔鬼在细节,即如何“礼貌”和尊重robots.txt,元标记,重定向,速率限制,URL规范化,无限深度,重试,重访等。

Norconex HTTP Collector flow diagram

流程图由Norconex HTTP Collector提供。


另一答案

你可以探索.apache droid或apache nutch来获得基于java的爬虫的感觉


另一答案

虽然主要用于单元测试Web应用程序,但HttpUnit遍历网站,单击链接,分析表格和表单元素,并为您提供有关所有页面的元数据。我用它来进行Web爬行,而不仅仅是单元测试。 - http://httpunit.sourceforge.net/



推荐阅读
author-avatar
如哽在喉_495
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有