java自己做个每小时自动更新的代理服务器(proxy)列表

类别:Java 点击:0 评论:0 推荐:

java自己做个每小时自动更新的代理服务器(proxy)列表


今天,偶尔看到有个国外网站每小时自动发布最新的代理服务器。

于是,就写了个程序,把它网站的代理服务器地址保存到本地

然后每小时执行一次。

 

程序是用java写的,原理就是抓取网页内容,然后分析其中的代码

保存在c:\proxy.htm文件中。

每小时运行该java程序,是通过计划任务实现的

效果还不错。


如果能够从多个站点下载代理服务器,再加上能够验证代理服务器的有效性

就比较完美了。


如果自己有服务器的话,就也可以每小时发布最新的代理服务器了。

java程序源代码如下:

 


/**
 * 保存代理服务器地址到 c:\proxy.htm 文件
 * @web http://blog.csdn.net/cqq
 * @author 慈勤强
 * @version 1.00 05/02/01
 */
import java.net.*;
import java.io.*;
import java.util.regex.*;
import java.util.*;

public class JavaProxy {
   
    public static void main(String[] args) throws Exception {
         
        System.out.println("正在生成代理列表...\r\n");
        JavaProxy ou=new JavaProxy();
     File f=new File("c:\\proxy.htm");
     BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(f)));

     String str=ou.getProxy1();
     Pattern p=Pattern.compile("<li>");
     
     String[] ss=p.split(str);
     String strTmp="";
     String str1="";
     
     if(ss.length>1)
  {
   bw.write("<table width=\"90%\" border=\"0\" align=\"center\"  bgcolor=\"#F9F9F9\"><tr><td>");
   bw.write("<b>Last Modified:"+new Date().toLocaleString()+"</b><br>&nbsp;<br>");
   for(int i=1;i<ss.length;i++)
   {    
    strTmp=ss[i].substring(10,12); //Country
    if(strTmp.equals("CN"))
     strTmp="<font color=red><b>"+strTmp+"</b></font>";
    str1=removeAllTag(ss[i]);
    bw.write(""+i+" "+strTmp+" "+str1+"<br>");     
    
   }
   bw.write("</td></tr></table>");
  }
  bw.close();
  System.out.println("完成");
  System.exit(0);
 
    }
   
   
 private String getProxy1()
 {
  int i=0;
  try{   
   URL url=new URL("http://www.cybersyndrome.net/pla.html");
   BufferedReader br=new BufferedReader(new InputStreamReader(url.openStream()));
   String s="";
   StringBuffer sb=new StringBuffer("");
   while((s=br.readLine())!=null)
   { 
    i++;
    if(i>80&&i<89)
    {
     sb.append(s+"\r\n");
    }
   }
   br.close();
   return sb.toString();
  }
  catch(Exception e){
   return "error open url" +e.toString();   
  }  
 } 
 public static String removeAllTag(String src)
 {
      return src.replaceAll("<[^>]*>", ""); 
 }
}

本文地址:http://com.8s8s.com/it/it11589.htm