Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 433|回复: 0

[jsp学习]java 做的代理搜寻

[复制链接]
  • TA的每日心情
    开心
    2021-3-12 23:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2014-9-30 23:50:41 | 显示全部楼层 |阅读模式
    今天,偶尔看到有个国外网站每小时自动发布最新的代理服务器。  

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

    程序是用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("正在生成代理列表...
    ");  
         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> <br>");  
         for(int i=1;i<ss.length;i++){  
              strTmp=ss.substring(10,12); //Country  
              if(strTmp.equals("CN"))  
                 strTmp="<font color=red><b>"+strTmp+"</b></font>";  
              str1=removeAllTag(ss);  
              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+"
    ");  
                  }  
              }  
              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

    等待好结果吧。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-5-10 16:59 , Processed in 0.425832 second(s), 46 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表