小弟正打算自己做一个西安市公交查询系统,现在想请各位帮忙,看谁有公交数据,在西安公交网上,也都能查询到,但是得我一条一条粘在数据库里,太多了,太麻烦。
我只要:每条线路所有经过站点的数据(全部线路的途经站点信息)
其他的我已经整理出来了。

解决方案 »

  1.   


    ME TOO你可以用HttpURLConnection去模拟公交信息搜索么,然后解析页面。
    这个由代码完成很简单的的,就是网络爬虫。有个公交查询貌似叫www1.jiaotongchaxun或者你百度下“西安公交”lz加油啊。
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class Test {
        public static void main (String[] args) {
            System.out.println(area("http://ipwhois.cnnic.net.cn/ipwhoisresult.php?query_option=ipv4&txtquery=123.123.123.123"));
        
        }
        public static String area(String urlAddress){
            try {
                URL url= new URL(urlAddress);
                HttpURLConnection h=(HttpURLConnection)url.openConnection();
                BufferedReader in = new BufferedReader(new InputStreamReader(h.getInputStream()));
                StringBuilder sb = new StringBuilder();
                String s;
                while((s = in.readLine()) != null){
                    sb.append(s);
                }
                s = sb.toString();
                return mat(s, "网络名.*?>\\s+(.*?)<");
                
            } catch (Exception e) {
                e.printStackTrace();
            }
            return "未找到相应匹配";
        }
        public static String mat(String source, String regex){
            Pattern p = Pattern.compile(regex);
            Matcher matcher = p.matcher(source);
            while(matcher.find()){
                return matcher.group(1);
            }
            return " ";
        }
    }
      

  2.   

    网页上数据都有,只是:
    共有360条线路,每条线路的信息又都得点击下一页才能看到,如果我每条都打开一页,再粘贴到EXCEL里的话,很费时,很麻烦,而且容易出错,所以想请教有没有什么办法可以将所本页面中的所有下一页数据都能一次性查出来?这样我就不用一页一页去翻,再复制粘贴
      

  3.   

    Jsoup 这个开源项目为基础 写爬虫 模拟搜索 例如(你西安有三个地方  a b c 按照 a-b b-c  a-c穷举来查处数据放到你数据库)
      

  4.   

    已经发过了,那个是以8684公交网站为目标的,用ssi框架写的,有些东西写死了,注释也还好,看看就能改了,
      

  5.   


    我给你的代码足以完成你的需求,分页也是一个http请求,照样模拟,传送页数,返回数据,可以用firebug看看,如果这个你都做不到,那么你去买个服务吧。
      

  6.   


    现在大学生都上csdn啊,不错,我当年都没听过csdn
      

  7.   


    大学时候我只知道cs,后面没有dn。。