Java读取网页内容并下载图片的实例
发布时间 - 2026-01-11 03:24:35 点击率:次Java读取网页内容并下载图片的实例

很多人在第一次了解数据采集的时候,可能无从下手,尤其是作为一个新手,更是感觉很是茫然,所以,在这里分享一下自己的心得,希望和大家一起分享技术,如果有什么不足,还请大家指正。写出这篇目的,就是希望大家一起成长,我也相信技术之间没有高低,只有互补,只有分享,才能使彼此更加成长。
示例代码:
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class GetContentPicture {
public void getHtmlPicture(String httpUrl) {
URL url;
BufferedInputStream in;
FileOutputStream file;
try {
System.out.println("取网络图片");
String fileName = httpUrl.substring(httpUrl.lastIndexOf("/"));
String filePath = "./pic/";
url = new URL(httpUrl);
in = new BufferedInputStream(url.openStream());
file = new FileOutputStream(new File(filePath+fileName));
int t;
while ((t = in.read()) != -1) {
file.write(t);
}
file.close();
in.close();
System.out.println("图片获取成功");
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public String getHtmlCode(String httpUrl) throws IOException {
String content ="";
URL uu = new URL(httpUrl); // 创建URL类对象
BufferedReader ii = new BufferedReader(new InputStreamReader(uu
.openStream())); // //使用openStream得到一输入流并由此构造一个BufferedReader对象
String input;
while ((input = ii.readLine()) != null) { // 建立读取循环,并判断是否有读取值
content += input;
}
ii.close();
return content;
}
public void get(String url) throws IOException {
String searchImgReg = "(?x)(src|SRC|background|BACKGROUND)=('|\")/?(([\\w-]+/)*([\\w-]+\\.(jpg|JPG|png|PNG|gif|GIF)))('|\")";
String searchImgReg2 = "(?x)(src|SRC|background|BACKGROUND)=('|\")(http://([\\w-]+\\.)+[\\w-]+(:[0-9]+)*(/[\\w-]+)*(/[\\w-]+\\.(jpg|JPG|png|PNG|gif|GIF)))('|\")";
String content = this.getHtmlCode(url);
System.out.println(content);
Pattern pattern = Pattern.compile(searchImgReg);
Matcher matcher = pattern.matcher(content);
while (matcher.find()) {
System.out.println(matcher.group(3));
this.getHtmlPicture(url+matcher.group(3));
}
pattern = Pattern.compile(searchImgReg2);
matcher = pattern.matcher(content);
while (matcher.find()) {
System.out.println(matcher.group(3));
this.getHtmlPicture(matcher.group(3));
}
// searchImgReg =
// "(?x)(src|SRC|background|BACKGROUND)=('|\")/?(([\\w-]+/)*([\\w-]+\\.(jpg|JPG|png|PNG|gif|GIF)))('|\")";
}
public static void main(String[] args) throws IOException {
String url = "http://www.baidu.com/";
GetContentPicture gcp = new GetContentPicture();
gcp.get(url);
}
}
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Java读取网页
# Java读取网页并下载图片
# Java从数据库中读取Blob对象图片并显示的方法
# Java实现图片上传到服务器并把上传的图片读取出来
# Java从网络读取图片并保存至本地实例
# Java读取图片EXIF信息的方法
# Java 读取PDF中的文本和图片的方法
# java IO流读取图片供前台显示代码分享
# java读取图片并转化为二进制字符串的实现方法
# 如何使用Java读取PPT文本和图片
# Java技巧:快速获取图片拍摄时间
# 自己的
# 有什么
# 我也
# 在这里
# 尤其是
# 如有
# 很多人
# 无从下手
# 希望能
# 希望大家
# 作为一个
# 这篇
# 能使
# 谢谢大家
# 还请
# 数据采集
# 下载图片
# 大家一起分享
# 判断是否
# 一起成长
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Android自定义listview布局实现上拉加载下拉刷新功能
如何在万网ECS上快速搭建专属网站?
,网页ppt怎么弄成自己的ppt?
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
大同网页,大同瑞慈医院官网?
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
Laravel怎么在Controller之外的地方验证数据
Laravel如何与Docker(Sail)协同开发?(环境搭建教程)
Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程
如何快速完成中国万网建站详细流程?
详解Android——蓝牙技术 带你实现终端间数据传输
laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析
EditPlus中的正则表达式 实战(2)
中山网站制作网页,中山新生登记系统登记流程?
Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】
Bootstrap整体框架之CSS12栅格系统
如何确保FTP站点访问权限与数据传输安全?
JS弹性运动实现方法分析
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
JS经典正则表达式笔试题汇总
公司门户网站制作流程,华为官网怎么做?
Laravel如何实现API版本控制_Laravel版本化API设计方案
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
如何做网站制作流程,*游戏网站怎么搭建?
详解jQuery停止动画——stop()方法的使用
打开php文件提示内存不足_怎么调整php内存限制【解决方案】
如何快速搭建安全的FTP站点?
Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】
Android Socket接口实现即时通讯实例代码
iOS发送验证码倒计时应用
Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践
Java类加载基本过程详细介绍
Laravel如何使用Eloquent进行子查询
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
香港服务器租用每月最低只需15元?
如何续费美橙建站之星域名及服务?
米侠浏览器网页图片不显示怎么办 米侠图片加载修复
如何快速搭建高效WAP手机网站吸引移动用户?
JavaScript如何实现继承_有哪些常用方法
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
iOS验证手机号的正则表达式
Laravel如何实现模型的全局作用域?(Global Scope示例)
javascript基本数据类型及类型检测常用方法小结
html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】
微信小程序 闭包写法详细介绍
简单实现Android验证码
EditPlus中的正则表达式 实战(1)
Laravel中的Facade(门面)到底是什么原理

