当前位置:首页 > Java技术 > 正文内容

(续) java 取WEB资源的内容

canca18年前 (2008-05-13)Java技术411

作者:独钓寒江月

《java 取WEB资源的内容》是给菜鸟入门用的,起因是:与我接口的外单位的做手机游戏的兄弟,需要连接到我的服务器取我给他的内容,当然是使用我定义的接口,通过HTTP GET或POST的方式。因为会话管理的原因,他不会处理,造成除了登录,其他的数据都不能正常接收。故我做了此测试程序,主要是会话管理部分。
      有的同学看了前篇后,都想骂人了。
      今将取得的普通HTTP返回做一简单分析,方法都是类似的。
      本测试目的是从迅雷的搜索中取出感兴趣的部分。

另:在前篇中(GetHttp),String r 应该使用 StringBuilder。当然,在while中就要用r.append了。

抛砖引玉......

<code>

import java.util.regex.Matcher;
import java.util.regex.Pattern;


public class ParseWeb
{

   
    public void getAll(String url,int maxNum,String keyWord)
    {
        long stime = System.currentTimeMillis();

        GetHttp aa = new GetHttp();
       
        String r = aa.getValue(url);
        aa = null;

        String regex="<tr><td(.+?)</td><td(.+?)><a(.+?) href=\"(.+?)\"(.+?)</td><td>(.+?)</td><td>(.+?)</td><td>(.+?)</td><td>(.+?)</td><td>(.+?)</td><td>(.+?)</td></tr>";
        Pattern pattern=Pattern.compile(regex);
        Matcher matcher=pattern.matcher(r);
        int ii = 0;
        while(matcher.find())
        {
            String uurl = matcher.group(4);
            String allSize = matcher.group(8);
            String format = matcher.group(9);

            System.out.println("");
            System.out.println("`````````````````````````````");
//            System.out.println(matcher.group(1));
//            System.out.println(matcher.group(2));
//            System.out.println(matcher.group(3));
            System.out.println(matcher.group(4));
//            System.out.println(matcher.group(5));
//            System.out.println(matcher.group(6));
//            System.out.println(matcher.group(7));
            System.out.println(matcher.group(8));
            System.out.println(matcher.group(9));
//            System.out.println(matcher.group(10));
//            System.out.println(matcher.group(11));
            System.out.println("`````````````````````````````");
            System.out.println("");
           
            //do something
           
            ii ++;
        }

        System.out.println(" [ getAll ] search result count : " + ii);
        long etime = System.currentTimeMillis();
        System.out.println(".########################### getall time : " + (etime-stime));
        return ;
    }

   
    public static void main(String[] args ) throws Exception
    {
        long stime = System.currentTimeMillis();
        String keyWord = "刘德华";
        ParseWeb pw = new ParseWeb();
        for(int i=1;i<3;i++)
        {
            String url = "http://movie.gougou.com/search?search=" + keyWord + "&restype=-1&page=" + i + "&id=10000000&ty=0";
            pw.getAll(url, 0, keyWord);
        }
        pw = null;
       
        long etime = System.currentTimeMillis();
        System.out.println(".########################### run time : " + (etime-stime));
    }

}


</code>

扫描二维码推送至手机访问。

版权声明:本文由Ant.Master's Blog发布,如需转载请注明出处。

本文链接:https://iant.work/post/447.html

标签: Java技术
分享给朋友:

“(续) java 取WEB资源的内容” 的相关文章

Socket与ServerSocket的问题

//服务器端:import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintStream;import java.net.ServerSock...

Java语言的反射机制

    由于项目的需要,在项目中要实现即插即用的方式,也就是说可以动态地加载包,不用设置CLASSPATH路径。当项目发布时,不可能要用户来设置环境变量吧!因此,就要用到JAVA的反射机制了。昨天,我是在研究JAVA的JNI技术。由于没有时间,所以过几天才写JNI。今天...

JSP与Servlet的对应关系

以前在QQzone写下的文章现在贴到这里来了... 最近比较忙啊!现在抽身写一篇文章。是关于JSP与Servlet的对应关系的。希望对大家有所帮助。其实我也是刚刚学的......-------Servlet--------------JSP----------1.ServletContext&nbs...

JAVA获得一个文件夹大小

在JAVA里没有现成的方法获取一个文件夹的大小,那么我们可以用递归的方法,获取文件夹的大小。    import  java.util.*;  import  java.io.*;  class  GetFileSi...

IM技术(1)

    做项目了,NetCL今天开工了,在这些日子里,我会将自己研究的内容写下来。做个记录,以下是我在网上搜到的。关于管理用户状态的解决方案,当然,我都有一个方案。不过对客户端的任务有点重吧,我方法是客户端从服务器端获到一个用户在线状态后,接着就与服务器无关了。好友离线...

JAVA内部类终极实例

最近心情不好,不想说太多东西了!电脑坏了,我现在又病了. class ClassFactory{ private final static String userName = "Hello,My name is CAnca."; public static Thread in =...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。