博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Java爬取图片
阅读量:3966 次
发布时间:2019-05-24

本文共 2044 字,大约阅读时间需要 6 分钟。

Java爬取图片

第一步 创建一个Maven项目 (我是创建的一个springboot项目)

在这里插入图片描述

第二步 导入Jsoup包

org.jsoup
jsoup
1.10.2

然后再创建一个包 包下新建一个带有main的类

分析网站内容

在这里插入图片描述

在这里插入图片描述

之后就是编写爬取图片的代码了

public class JsoupConfig {
public static void main(String[] args) {
//爬取网站的url路径 String url = "https://blog.csdn.net/weixin_42302341/article/details/109778050?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161156794416780265412610%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=161156794416780265412610&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-109778050.pc_search_result_before_js&utm_term=%E5%9B%BE%E7%89%87&spm=1018.2226.3001.4187"; try {
//使用Jsoup解析url Document document = Jsoup.parse(new URL(url), 10000); //通过标签id获取网页包含图片的标签 Element elementById = document.getElementById("content_views"); //获取img标签 Elements imgs = elementById.getElementsByTag("img"); //System.out.println(imgs); int id = 0; //循环遍历把图片src属性遍历出来 for (Element img : imgs) {
String src = img.attr("src"); //System.out.println(src); id++; URL target = new URL(src); URLConnection urlConnection = target.openConnection(); //获取输入流 InputStream inputStream = urlConnection.getInputStream(); //获取输出流 这里是下载保存图片到本地的路径 OutputStream outputStream = new FileOutputStream("E:\\Work\\照片\\" + id +".jpg"); int temp = 0; while ((temp = inputStream.read()) != -1) {
outputStream.write(temp); } System.out.println(id + ".jpg下载完毕!!!"); outputStream.close(); inputStream.close(); } } catch (Exception e) {
e.printStackTrace(); } }}

效果

在这里插入图片描述

在这里插入图片描述

你可能感兴趣的文章
01背包问题
查看>>
O(logn)时间复杂度求Fibonacci数列
查看>>
【转】腾讯十年运维老兵:运维团队的五个“杀手锏”
查看>>
Iterator_traits
查看>>
Zedboard中的SPI通信记录文档(已实现)
查看>>
zigbee学习笔记2----cc2530 IO实验
查看>>
zigbee学习笔记4----初次接触zstack
查看>>
Android 发布到google Play的app搜索不到问题的解决
查看>>
Flutter 网络请求之基于dio的简单封装
查看>>
Flutter UI基础 - 路由之Navigator详解
查看>>
Flutter UI基础 - Widgets 之 InkWell 和 Ink
查看>>
Spring - sentinel和hystrix比较
查看>>
MySQL - 索引之B+树
查看>>
Spring - Dubbo的底层实现原理和机制
查看>>
Flutter Dio引入和简单的Get/Post请求
查看>>
Flutter Dart 和 Flutter json转实体类(插件自动生成)
查看>>
Flutter 路由跳转fluro
查看>>
Flutter 日期插件date_format 中文 国际化 及flutter_cupertino_date_picker
查看>>
Flutter 插件笔记 | 屏幕适配 flutter_screenutil
查看>>
Flutter UI基础 - 侧拉抽屉菜单
查看>>