如何使用java代码,爬取页面特定内容?

2025-10-21 18:17:43

1、确认目标我们要爬取的是“百度”首页 

中的 gif 动态图

将它下载下来

如何使用java代码,爬取页面特定内容?

2、加入jsoup依赖

我这里使用的是maven,进行的依赖管理

如果不知道maven是什么可以去百度了解一下

如何使用java代码,爬取页面特定内容?

3、依赖有了我们就开始编码吧

第一步:先把“百度”首页所有的html元素内容全部爬下来

如何使用java代码,爬取页面特定内容?

4、第二步:找到我们需要的图片元素 对象

使用 css 选择器  

jsoup已经为我们封装好了,一起来看吧

如何使用java代码,爬取页面特定内容?

5、第三步:获取图片的网络路径

如何使用java代码,爬取页面特定内容?

6、第四步:通过网络图片地址,将图片下载到本地

如何使用java代码,爬取页面特定内容?

如何使用java代码,爬取页面特定内容?

7、代码都在这里了 : 

public static void main(String [] args) throws IOException {

 

   Document doc = Jsoup.connect("http://www.baidu.com/").get();

 

   Elements select = doc.select(".index-logo-src");

 

   int i = 1;

 

   java.net.URL url = null;

 

   for (Element element : select) {

 

       String src = element.attr("src");

 

       src = src.substring(2);

 

       src = "http://" + src;

 

       url = new java.net.URL(src);

 

       DataInputStream dataInputStream = new DataInputStream(url.openStream());

 

       FileOutputStream fileOutputStream = new FileOutputStream(new File("e:/img/" + (i) + ".gif"));

 

       ByteArrayOutputStream output = new ByteArrayOutputStream();

 

       byte[] buffer = new byte[1024];

 

       int length;

 

       while ((length = dataInputStream.read(buffer)) > 0) {

 

           output.write(buffer, 0, length);

 

       }

 

       byte[] bytes = output.toByteArray();

 

       fileOutputStream.write(output.toByteArray());

 

       dataInputStream.close();

 

       fileOutputStream.close();

 

       i++;

 

   }

 

}
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢