Java Web Crawler Libraries
This is How your program 'visit' or 'connect' to web pages.
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
}
}
This will download source of html page.
For HTML parsing see this
Also take a look at jSpider and jsoup
Crawler4j is the best solution for you,
Crawler4j is an open source Java crawler which provides a simple interface for crawling the Web. You can setup a multi-threaded web crawler in 5 minutes!
Also visit. for more java based web crawler tools and brief explanation for each.
Right now there is a inclusion of many java based HTML parser that support visiting and parsing the HTML pages.
- Jsoup
- Jaunt API
- HtmlCleaner
- JTidy
- NekoHTML
- TagSoup
Here's the complete list of HTML parser with basic comparison.