龙德梦 2015-11-20 07:39 采纳率: 66.7%
浏览 2875
已采纳

JAVA网页数据爬取,保存为xml

各位好,我想爬取网页上的数据用作绘图,但是现在只能将网页代码下载下来不知道该怎么提取?用JAVA写的。希望可以知道如何从网站上爬取数据,并保存为xml
的格式。在此谢谢图片说明图片说明

  • 写回答

2条回答

  • 晓呆同学 2015-11-20 08:07
    关注

    你可以了解一下JSOUP,用这个进行网页抓取和数据提取比较简单的,能提取各种元素和对应的数据。
    你百度一下,内容很多的。发个小例子:

     /**
         * 抓取url网址页面链接上满足后边正则的url链接
         */
        public static Set<String> getHrefList(String url, String regular){
    
            Set<String> urlSet = new HashSet<String>();
    
            Document doc = null;
            try {
                doc = Jsoup.connect(url).userAgent("Mozilla").timeout(20000).get();
    
                Elements links = doc.getElementsByTag("a");
    
                String linkHref = "";
    //          String linkText = "";
    
    //          Pattern pattern = Pattern.compile("^http://blog\\.csdn\\.net/[^\\s]*/article/details/[0-9]+$");
                Pattern pattern = Pattern.compile(regular);
                Matcher matcher = null;
    
                for (Element link : links) {
                    linkHref = link.attr("href");
    //              linkText = link.text();
    
                    matcher = pattern.matcher(linkHref);
    
                    if(matcher.find()){
                        urlSet.add(linkHref);
                    }
                }
    
            } catch (IOException e) {
                e.printStackTrace();
            }
            return urlSet;
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 maple软件,用solve求反函数出现rootof,怎么办?
  • ¥50 汇编语言除法溢出问题
  • ¥65 C++实现删除N个数据列表共有的元素
  • ¥15 Visual Studio问题
  • ¥15 state显示变量是字符串形式,但是仍然红色,无法引用,并显示类型不匹配
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波