请帮忙看一下这个java程序能实现抓网页吗
java新手初学者 不太懂呀 问下面这个程序能抓网页内容吗?package com.m.m;
import java.util.ArrayList;//导入关于ArrayList类的包
public class Catcher {
ArrayList threads=new ArrayList();//存储未处理的URL(网页地址)
public static boolean isFinished=false;//是否已经把所有的链接存到threads了
public synchronized String getUrl()
{
if (threads.size()>0)
{
String tmp=String.valueOf(threads.get(0));
threads.remove(0);
return tmp;
}
else
return null;//返回没有地址,当然也没内容
}
public void process (){
//处理预处理
//下面开始十个线程等待处理
new Thread(new Processe(this)).start();//创建一个Processer对象,并且启动
new Thread(new Processe(this)).start();
new Thread(new Processe(this)).start();
new Thread(new Processe(this)).start();
new Thread(new Processe(this)).start();
new Thread(new Processe(this)).start();
new Thread(new Processe(this)).start();
new Thread(new Processe(this)).start();
new Thread(new Processe(this)).start();
new Thread(new Processe(this)).start();
//进入翻页的处理
for(int j=0;j<10;j++)//从第一页翻到最后一页
{
for(int i=0;i<100;i++)
{
threads.add("http://news.qq.com/");//把URL存进去
}
}
isFinished=true;
}
}
class Processe implements Runnable //创建一个Processer类实现Runnable接口
{
Catcher c;
public Processe (Catcher c)
{
this.c=c;
}
public void run ()
{
String tmp=null;
while ((tmp=c.getUrl())!=null||!c.isFinished)//当还有记录时就处理
{
if(tmp!=null)
{
//处理将一条信息保存到数据库
}
else //如果没标志处理则让线程休眠一妙再重新开始处理
{
try
{
Thread.sleep(1000);
}catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
}
}
java 抓网页 线程
补充:Java , Java SE