提取网页图片java代码,java爬取整个网站图片

如何用java代码获取 这个网页上的图片

你也没说是要把图片下载下来还是什么的

创新互联建站2013年至今,先为烟台等服务建站,烟台等地企业,进行企业商务咨询服务。为烟台企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

这里我实现的是将图片下载到电脑

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.net.HttpURLConnection;

import java.net.MalformedURLException;

import java.net.URL;

public class DownLoad {

public static void main(String[] args) {

File dstFile = new File("E:/test/test/test.jpg");

try {

URL url = new URL("");

HttpURLConnection conn = (HttpURLConnection) url.openConnection();

InputStream is = conn.getInputStream();

saveFile(is, dstFile);

} catch (MalformedURLException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

public static void saveFile(InputStream is,File dstFile){

FileOutputStream fos = null;

File parentFile = dstFile.getParentFile();

if(!parentFile.exists()){

parentFile.mkdirs();

}

try {

fos = new FileOutputStream(dstFile);

byte[] buff = new byte[1024 * 4];

int len;

while((len = is.read(buff)) != -1){

fos.write(buff, 0, len);

}

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}finally{

try{

if(is != null){

is.close();

}

if(fos != null){

fos.close();

}

}catch(IOException e){

e.printStackTrace();

}

}

}

}

如何以Java实现网页截图技术

事实上,如果您想以Java实现网页截图,也就是“输入一段网址,几秒钟过后就能截取一张网页缩略图”的效果。那么,您至少有3种方式可以选择。

1、最直接的方式——使用Robot

方法详解:该方法利用Robat提供的强大桌面操作能力,硬性调用浏览器打开指定网页,并将网页信息保存到本地。

优势:简单易用,不需要任何第三方插件。

缺点:不能同时处理大量数据,技术含量过低,属于应急型技巧。

实现方法:使用如下代码即可。

[java] view plaincopy

public static void main(String[] args) throws MalformedURLException,

IOException, URISyntaxException, AWTException {

//此方法仅适用于JdK1.6及以上版本

Desktop.getDesktop().browse(

new URL("").toURI());

Robot robot = new Robot();

robot.delay(10000);

Dimension d = new Dimension(Toolkit.getDefaultToolkit().getScreenSize());

int width = (int) d.getWidth();

int height = (int) d.getHeight();

//最大化浏览器

robot.keyRelease(KeyEvent.VK_F11);

robot.delay(2000);

Image image = robot.createScreenCapture(new Rectangle(0, 0, width,

height));

BufferedImage bi = new BufferedImage(width, height,

BufferedImage.TYPE_INT_RGB);

Graphics g = bi.createGraphics();

g.drawImage(image, 0, 0, width, height, null);

//保存图片

ImageIO.write(bi, "jpg", new File("google.jpg"));

}

2、最常规的方式——利用JNI,调用第三方C/C++组件

方法详解:目前来讲,Java领域对于网页截图组件的开发明显不足(商机?),当您需要完成此种操作时,算得上碰到了Java的软肋。但是,众所周知Java也拥有强大的JNI能力,可以轻易将C/C++开发的同类组件引为己用。不懂可以扣五七八零二四一四四

优势:实现简单,只需要封装对应的DLL文件,就可以让Java实现同类功能。

劣势:同其他JNI实现一样,在跨平台时存在隐患,而且您的程序将不再属于纯Java应用。

Java中怎么抓取网页中的图片

通过httpclient来爬取网站内容,分析当前内容页中的图片‘规则’

抓取一般都是模拟浏览器访问目标网页,通过返回的页面html代码进行分析自己需要的数据

查找规则,例如你爬取的网页 ,看到当前页面显示的图片格式如下img src=""

通过解析爬取的网页源代码(html)进行字符串的操作即可,现在有相应的第三方jar包可以帮你更快的完成这部分工作,例如htmlpaser,获取到对应的地址,然后进行保存或下载。

你可以搜索,java爬虫(httpclient)和htmlpaser做更多的了解。


文章名称:提取网页图片java代码,java爬取整个网站图片
分享路径:http://scyanting.com/article/dssihhh.html