站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Java 专题java 做的代理搜寻

java 做的代理搜寻

摘要: java 做的代理搜寻

</td> </tr> <tr> <td height="35" valign="top" class="ArticleTeitle"> <table width="674" border="0"> <tr> <td width="269"> </td> <td width="395"> 今天,偶尔看到有个国外网站每小时自动发布最新的代理服务器。

于是,就写了个程序,把它网站的代理服务器地址保存到本地,然后每小时执行一次。

程序是用java写的,原理就是抓取网页内容,然后分析其中的代码,保存在c:\proxy.htm文件中。

每小时运行该java程序,是通过计划任务实现的,效果还不错。

如果能够从多个站点下载代理服务器,再加上能够验证代理服务器的有效性就比较完美了。

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

java程序源代码如下:
</td> </tr> </table> ??
/**
* 保存代理服务器地址到 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("
  • ");

    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("Last Modified:"+new Date().toLocaleString()+"

    ");
    for(int i=1;i strTmp=ss[i].substring(10,12); //Country
    if(strTmp.equals("CN"))
    strTmp=""+strTmp+"";
    str1=removeAllTag(ss[i]);
    bw.write(""+i+" "+strTmp+" "+str1+"
    ");

    }
    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("<[^>]*>", "");
    }
    }


    然后是javac JavaProxy.java

    java JavaProxy

    等待好结果吧。
    </td> </tr> <tr>


    ↑返回目录
    前一篇: 一个简化的存储long型数据的List
    后一篇: 给图片打水印