小弟编写了下面代码爬取某个留邮箱贴的所有邮箱,可是在这过程中也出现了一个问题,还请大神指教:在爬取该贴的邮箱时,该贴有78页,怎么样才能让程序自动检测贴子后面页面的网址自行爬取,而不是我这样通过自己写的循环控制循环次数一页一页爬
import java.io.*;
import java.net.*;
import java.util.regex.*;
class URLSpider
{
public static void main(String[] args)throws Exception
{
String path="http://tieba.baidu.com/p/2729393850?pn=";
for(int i=1;i<=78;i++)
{
URL u=new URL(path+i);
InputStreamReader isr=new InputStreamReader(u.openStream());
BufferedReader bufr=new BufferedReader(isr);
BufferedWriter bufw=new BufferedWriter(new FileWriter("mail.txt",true));
String line="";
String regex="[\\w]{5,12}[@][\\w]{2,}(\\.[\\w]{2,}){1,2}";
while((line=bufr.readLine())!=null)
{
Pattern p=Pattern.compile(regex);
Matcher m=p.matcher(line);
while(m.find())
{
bufw.write(m.group(),0,m.group().length());
bufw.newLine();
bufw.flush();
}
}
}
}
}
|
|