JAVA抓取网页的图片,JAVA利用正则表达式抓取网站图片

用java代码下载网页图片 经常在网上搜东西都搜不到,更有人上传点没用了,现在我解决了就把解决方法上传上吧. 立即下载

利用java抓取网页上的所有图片:

用两个正则表达式:

1、匹配html中img标签的正则:<img.*src=(.*?)[^>]*?>

2、匹配img标签中得src中http路径的正则:http:\"?(.*?)(\"|>|\\s+)


实现:

package org.swinglife.main;

import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/***
 * java抓取网络图片
 * @author swinglife
 *
 */
public class CatchImage {

	// 地址
	private static final String URL = "http://www.youkuaiyun.com";
	// 编码
	private static final String ECODING = "UTF-8";
	// 获取img标签正则
	private static final String IMGURL_REG = "<img.*src=(.*?)[^>]*?>";
	// 获取src路径的正则
	private static final String IMGSRC_REG = "http:\"?(.*?)(\"|>|\\s+)";

	
	public static void main(String[] args) throws Exception {
		CatchImage cm = new CatchImage();
		//获得html文本内容
		String HTML = cm.getHTML(URL);
		//获取图片标签
		List<String> imgUrl = cm.getImageUrl(HTML);
		//获取图片src地址
		List<String> imgSrc = cm.getImageSrc(imgUrl);
		//下载图片
		cm.Download(imgSrc);
	}
	
	
	/***
	 * 获取HTML内容
	 * 
	 * @param url
	 * @return
	 * @throws Exception
	 */
	private String getHTML(String url) throws Exception {
		URL uri = new URL(url);
		URLConnection connection = uri.openConnection();
		InputStream in = connection.getInputStream();
		byte[] buf = new byte[1024];
		int length = 0;
		StringBuffer sb = new StringBuffer();
		while ((length = in.read(buf, 0, buf.length)) > 0) {
			sb.append(new String(buf, ECODING));
		}
		in.close();
		return sb.toString();
	}

	/***
	 * 获取ImageUrl地址
	 * 
	 * @param HTML
	 * @return
	 */
	private List<String> getImageUrl(String HTML) {
		Matcher matcher = Pattern.compile(IMGURL_REG).matcher(HTML);
		List<String> listImgUrl = new ArrayList<String>();
		while (matcher.find()) {
			listImgUrl.add(matcher.group());
		}
		return listImgUrl;
	}

	/***
	 * 获取ImageSrc地址
	 * 
	 * @param listImageUrl
	 * @return
	 */
	private List<String> getImageSrc(List<String> listImageUrl) {
		List<String> listImgSrc = new ArrayList<String>();
		for (String image : listImageUrl) {
			Matcher matcher = Pattern.compile(IMGSRC_REG).matcher(image);
			while (matcher.find()) {
				listImgSrc.add(matcher.group().substring(0, matcher.group().length() - 1));
			}
		}
		return listImgSrc;
	}

	/***
	 * 下载图片
	 * 
	 * @param listImgSrc
	 */
	private void Download(List<String> listImgSrc) {
		try {
			for (String url : listImgSrc) {
				String imageName = url.substring(url.lastIndexOf("/") + 1, url.length());
				URL uri = new URL(url);
				InputStream in = uri.openStream();
				FileOutputStream fo = new FileOutputStream(new File(imageName));
				byte[] buf = new byte[1024];
				int length = 0;
				System.out.println("开始下载:" + url);
				while ((length = in.read(buf, 0, buf.length)) != -1) {
					fo.write(buf, 0, length);
				}
				in.close();
				fo.close();
				System.out.println(imageName + "下载完成");
			}
		} catch (Exception e) {
			System.out.println("下载失败");
		}
	}

	
}



java爬虫爬取百度图片 java爬虫爬取百度图片源码 立即下载

相关推荐

嵌入式存储实战:FAL+SFUD+flashDB三件套在STM32上的完整移植指南(附避坑技巧)

本文提供了一套在STM32上完整移植FAL、SFUD与flashDB嵌入式存储框架的实战指南。详细解析了从SPI驱动配置、SFUD设备识别、FAL抽象层分区到flashDB键值数据库初始化的全流程,并分享了关键的避坑技巧与性能优化建议,帮助开发者构建稳定可靠的嵌入式存储系统。

rnn9storyteller的博客 1016

使用Java代码下载网页图片

利用Java代码下载网页图片

Aslixzhou 1790

告别玄学:用Multisim或LTspice仿真带你直观理解PFC的三种工作模式(CCM/DCM/CrM)

本文通过Multisim和LTspice仿真工具,详细解析了PFC(功率因数校正)的三种工作模式(CCM、DCM、CrM)的本质差异。从波形捕捉到参数优化,提供了实用的仿真技巧和工程实践策略,帮助工程师直观理解并优化PFC电路设计,提升THD和功率因数。

weixin_30363285的博客 395

【Java编码】使用java代码通过URL将图片下载保存到本地

1.使用Java代码通过url将图片保存到本地

Douglas的博客 7448

YOLOv8剪枝实战:基于torch_pruning的模型优化与性能提升指南

本文详细介绍了如何使用torch_pruning工具对YOLOv8模型进行结构化剪枝,以实现模型轻量化与性能提升。通过实战步骤解析,包括环境搭建、依赖图分析、迭代剪枝与微调策略,帮助开发者有效减少模型参数量和计算量,提升在边缘设备上的推理速度,同时保持检测(detect)与分割(segment)任务的精度。

water的专栏 1122

别再傻傻分不清了!用Design Compiler和PrimeTime实操对比PBA与GBA模式

本文深度解析静态时序分析(STA)中Design Compiler与PrimeTime工具的PBA与GBA模式差异,通过实际案例演示两种模式在转换时间计算、时钟路径分析等方面的对比,并提供工程实践中模式选择的策略与调试技巧,帮助工程师在芯片设计流程中平衡精度与效率。

weixin_42552315的博客 414

使用java来从网上下载图片

【代码】使用java来从网上下载图片。

2301_80646062的博客 2061

【实战指南】Jaspersoft Studio + JasperReports:从零构建企业级PDF报表

本文详细介绍了如何使用Jaspersoft Studio和JasperReports从零构建企业级PDF报表。通过可视化设计、数据连接、模板设计到最终输出的全链路支持,这套组合方案显著降低了报表开发的维护成本。文章还提供了开发环境搭建、中文乱码解决方案、Java集成代码及性能优化技巧,适合需要高效生成复杂PDF报表的开发者。

weixin_42666036的博客 246

java实现下载网络图片到本地

文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 前言 当我们在网络上看到自己想要保存的照片,有的网站设置了权限,不能保存情况下,我们可以借助Java的文件流读取网络上的图片,并保存到本地。 一、示例 比如豆瓣话题第一这篇文章,我们想保存这张图片 可以点击图片,创建图片二维码 复制这个URL,一会程序会用到。 二、代码 1.代码示例 /** * 使用java中的文件流下载网上的图片,保存到本地...

JiaMing11_27的博客 1万+

【C++】auto关键字(C++11,超详细解析,小白必看系列)

本文详细解析了C++中的“auto”关键字,介绍了其定义、基本用法、限制和高级用法,特别是与范围for循环和Lambda表达式结合的应用。

m0_73494049的博客 6万+

热力学仿真软件:ANSYS CFX_(15).旋转机械仿真

创建旋转域在中选择需要设置为旋转域的区域。选择选项。设置旋转速度在设置中,指定旋转速度(单位为弧度/秒)。也可以选择选项,并输入具体值。设置旋转轴在设置中,指定旋转轴的方向和位置。通常旋转轴的方向可以使用单位向量来表示,例如[0, 0, 1]表示沿Z轴旋转。旋转轴的位置可以通过指定一个点的坐标来确定,例如[0, 0, 0]表示旋转轴通过原点。旋转机械的仿真在ANSYS CFX中是一个复杂但重要的过程。

kkchenjj的博客 1158

java下载链接图片到本地

【代码】java下载链接图片到本地。

yushun的博客 2989

Python爬虫实战:基于最新技术栈的政府招标采购数据抓取与分析

对于企业、研究人员和数据分析师来说,能够高效地获取这些数据意味着可以获得宝贵的商业洞察和市场先机。随着反爬技术的不断升级和网站结构的日益复杂,传统的爬虫方法已经难以满足需求。我们将采用Selenium、Playwright等现代浏览器自动化工具,结合Scrapy框架和异步请求库,构建一个能够应对各种反爬措施的强大爬虫系统。Playwright是微软开发的浏览器自动化工具,支持Chromium、WebKit和Firefox,比Selenium更快速、更稳定。

2201_76125261的博客 1311

java正则抓取网页_详解JAVA抓取网页的图片,JAVA利用正则表达式抓取网站图片

利用Java抓取网页上的所有图片:用两个正则表达式:1、匹配html中img标签的正则:]*?>2、匹配img标签中得src中http路径的正则:http:\"?(.*?)(\"|>|\\s+)实现:package org.swinglife.main;import java.io.File;import java.io.FileOutputStream;import java.io....

weixin_39643244的博客 170

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

java从网页抓取图片_详解JAVA抓取网页的图片,JAVA利用正则表达式抓取网站图片...

利用Java抓取网页上的所有图片:用两个正则表达式:1、匹配html中img标签的正则:]*?>2、匹配img标签中得src中http路径的正则:http:\"?(.*?)(\"|>|\\s+)实现:package org.swinglife.main;import java.io.File;import java.io.FileOutputStream;import java.io....

weixin_33059693的博客 159

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

java 获取 html 图片_详解JAVA抓取网页的图片,JAVA利用正则表达式抓取网站图片

利用Java抓取网页上的所有图片:用两个正则表达式:1、匹配html中img标签的正则:]*?>2、匹配img标签中得src中http路径的正则:http:\"?(.*?)(\"|>|\\s+)实现:package org.swinglife.main;import java.io.File;import java.io.FileOutputStream;import java.io....

weixin_42515181的博客 648

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

java获取网页图片源码_JAVA抓取网页的图片,JAVA利用正则表达式抓取网站图片实例源码...

JAVA抓取网页的图片,JAVA利用正则表达式抓取网站图片实例源码。利用java抓取网页上的所有图片:用两个正则表达式:1、匹配html中img标签的正则:]*?>2、匹配img标签中得src中http路径的正则:http:\”?(.*?)(\”|>|\\s+)实现:[java] view plaincopyprint?package org.swinglife.main;import...

weixin_33047553的博客 130

java正则表达式爬图片_详解JAVA抓取网页的图片,JAVA利用正则表达式抓取网站图片...

详解JAVA抓取网页的图片,JAVA利用正则表达式抓取网站图片发布于 2020-8-4|复制链接摘记: 利用Java抓取网页上的所有图片:用两个正则表达式:1、匹配html中img标签的正则:]*?>2、匹配img标签中得src中http路径的 ..利用Java抓取网页上的所有图片:用两个正则表达式:1、匹配html中img标签的正则:]*?>2、匹配img标签中得src中http路径...

weixin_39841610的博客 171

java网络编程爬取网站图片

复制代码直接用就可以了 import java.io.BufferedReader; import java.io.DataInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import...

qq_42169450的博客 377

部分成功的Java图片抓取

非常草草的实现,能够完美实现对ecnu主页图片的抓取【跑,其他的都会报错或有缺失。究其原因还是在对img标签上的解析上碰到了非常大的困难,正则表达式也不顶用,下一步考虑使用jsoup进行处理。同时,对于图片的读写也较慢,可能与我是一字节一字节写入文件的有关,可以考虑使用imagio包进行处理。还有一点可以改进的是对异常的处理,这个等看了coreJava相关章节再说,不急。初步先实现给定网址,爬取图...

Gofun4的博客 436

Java简单实现爬取一张图片

怎么用Java比较简单地去网上爬一些东西呢,比如一些图片。作为Java小白(在此之前,都不知道爬虫是个什么,hhh…)最近遇到这个问题,去网上找了一些思路。大致是这样的: 先访问某网络得到它的网站原代码 用正则表达式匹配出你想要的内容。 例子: 现在在https://pixabay.com/zh/images/search/%E5%BF%AB%E4%B9%90/这个网站爬一张图片试试看。 J...

Shine56的博客 1090

JAVA抓取网页的图片

import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.net.URL; import java.net.URLConnection; import java.util.ArrayList; import java.ut...

weixin_33796177的博客 114

java开发一个简单的网页爬虫训练正则表达式

不说了,上代码 【网页爬虫】 package regex; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; import java.util.

ken的专栏 1713

java 爬虫 图片_java实现简单爬虫,爬取youguo图片

[Java] 纯文本查看 复制代码public class pachong {@Testpublic void xiushibaike() throws Exception{Set set=new HashSet();String regex = "[a-zA-z]+://[^\\s]*";Pattern p = Pattern.compile(regex);for (int i = 501;i&...

weixin_31286719的博客 273
上一篇: Objective-C使用NSFileHandle类对文件进行基本操作,IOS文件操作
下一篇: IOS 地图定位,标记位置,获取经纬度,MKMapView的使用
SwingPyzf
博客等级 码龄15年 403粉丝 40原创
评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值