微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Java爬虫与python爬虫有什么区别?通过实例对比来了解

很多学习了python和Java的小伙伴们想了解一下Java和python的爬虫哪个更有优势,他们的区别是什么,接下来让小编来告诉你吧。

其实呢,python做爬虫语法和代码非常简单简洁。相对来说的话,Java的语法逻辑比python严格许多,而且代码也更复杂,很容易让开发者出现语法错误,从而降低了工作效率。

下面让我们来看实际案例来对比吧,示例如下:

(一)url请求

java代码如下:

public String call (String url){
            String content = "";
            BufferedReader in = null;
            try{
                URL realUrl = new URL(url);
                URLConnection connection = realUrl.openConnection();
                connection.connect();
                in = new BufferedReader(new InputStreamReader(connection.getInputStream(),"gbk"));
                String line ;
                while ((line = in.readLine()) != null){
                    content += line + "
";
                }
            }catch (Exception e){
                e.printstacktrace();
            }
            finally{
                try{
                    if (in != null){
                        in.close();
                    }
                }catch(Exception e2){
                    e2.printstacktrace();
                }
            }
            return content;
        }

python代码如下:

# coding=utf-8
import chardet
import urllib2
url = "http://www.baidu.com"
data = (urllib2.urlopen(url)).read()
charset = chardet.detect(data)
code = charset['encoding']
content = str(data).decode(code, 'ignore').encode('utf8')
print content

是不是代码量比JAVA少不少呢,而且非常简洁明了。

(二)正则表达式

java代码如下:

public String call(String content) throws Exception {
            Pattern p = Pattern.compile("content":".*?"");
            Matcher match = p.matcher(content);
            StringBuilder sb = new StringBuilder();
            String tmp;
            while (match.find()){
                tmp = match.group();
                tmp = tmp.replaceAll(""", "");
                tmp = tmp.replace("content:", "");
                tmp = tmp.replaceAll("", "");
                sb.append(tmp + "
");
            }
            String comment = sb.toString();
            return comment;
        }
    }

python代码如下:

import repattern = re.compile(正则)
group = pattern.findall(字符串)

看到这里,Python爬虫和java爬虫的区别就不用我来说了吧,通过正则表达式这个案例明确的能看出JAVA的需要近二十行的代码量而python只需要两行即可搞定,这下大家都知道python和Java的爬虫区别了吧。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐