java和python 分别爬网页源码?

3 篇文章 0 订阅
// 这是java 用Jsoup 解析网页源码
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;

public class JavaDemo {
    public static String getContent(String url , String encoding) {
        StringBuffer buffer = new StringBuffer();
        try {
            URL u = new URL(url);
            URLConnection uc = u.openConnection();
            InputStream inputStream = uc.getInputStream();
            InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
            BufferedReader reader = new BufferedReader(inputStreamReader);
            String temp = null;
            while ((temp = reader.readLine())!= null){
                temp += temp;
                buffer.append(temp+"\n");
            }
            Document parse = Jsoup.parse(buffer.toString());
            System.out.println(parse);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
    
    public static void main(String[] args) {
        String url = "https://movie.douban.com";
        String encoding = "utf-8";
        getContent(url,encoding);
    }
}

# 这是python
import urllib.request

response = urllib.request.urlopen("https://movie.douban.com")
html = response.read().decode('utf-8')
print(html)

看完之后视觉冲击还是很大的 尤其对懒人来说 敲简短的代码是多么幸福的事情!

当然,这是拿python的强项去和java的弱项对比, 而且在java代码块中考虑了效率的问题,要简写也是可以的:

 public static String getContent(String url , String encoding) throws Exception {
            String temp = null;
            while ((temp = new BufferedReader(new InputStreamReader(new URL(url).openConnection().getInputStream())).readLine())!= null){
                temp += temp;
            }
            Document parse = Jsoup.parse(temp);
        return null;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孟秋与你

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值