java截取网站图片的问题

zuoyangguang 2007-08-10 01:41:08
最近上头出了道难题,给出一个网站的地址,用java获取该网站的页面的压缩图,不知道能不能实现,若能,帮忙指点一下,谢谢
...全文
513 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
CrazyGou 2007-08-13
  • 打赏
  • 举报
回复
JEditorPane 不行
joejoe1991 2007-08-13
  • 打赏
  • 举报
回复
总算基本看懂 孟子E章的代码了 学习一下
mygia 2007-08-13
  • 打赏
  • 举报
回复
看懂楼主的意思了。就是像alexa的网页截图,不会,帮顶!
孟子E章 2007-08-12
  • 打赏
  • 举报
回复
ire = WebImage.create("http://dotnet.aspx.cc/", 800, 600);
theXhunter 2007-08-12
  • 打赏
  • 举报
回复
孟子E章,不是搞asp.net的吗,呵呵,
axia6395 2007-08-12
  • 打赏
  • 举报
回复
不用递归的 用正则表达式就简单多了
mysqlaping 2007-08-11
  • 打赏
  • 举报
回复
孟子E章,今天看到你了,pfpf。
mysqlaping 2007-08-11
  • 打赏
  • 举报
回复
alexa就是有这个功能的。
mooninday 2007-08-11
  • 打赏
  • 举报
回复
学习
zuoyangguang 2007-08-11
  • 打赏
  • 举报
回复
没人理我了,up一下
laughter75 2007-08-10
  • 打赏
  • 举报
回复
其实不是很难,主要是体力活;
主要工作原理是分析页面,Connection此网站后,获得页面内容进行分析,把图片地址取出,get到本地(就以流的形式,存成文件)。再分析出其他的<a href..... 一层层进去。就用递归吧。。
getPage() parse()...write()几个方法就够了代码不会超过80行。。。

努力吧。
孟子E章 2007-08-10
  • 打赏
  • 举报
回复
//Call the Web page and convert to Image
BufferedImage ire;
ire = WebImage.create("<web page URL>", 800, 600);
//You can convert the BufferedImage to
any format that you wish, jpg I thought was the best format
ImageIO.write(ire, "jpg", new File("c:\\Temp\\tt.jpg"));



//Class that Converts the web page to Image
import java.awt.*;
import java.awt.image.*;
import javax.swing.*;
import javax.swing.text.*;
import javax.swing.text.html.*;

public abstract class WebImage
{
static class Kit extends HTMLEditorKit
{
public Document createDefaultDocument() {
HTMLDocument doc =
(HTMLDocument) super.createDefaultDocument();
doc.setTokenThreshold(Integer.MAX_VALUE);
doc.setAsynchronousLoadPriority(-1);
return doc;
}
}

public static BufferedImage create
(String src, int width, int height) {
BufferedImage image = null;
JEditorPane pane = new JEditorPane();
Kit kit = new Kit();
pane.setEditorKit(kit);
pane.setEditable(false);
pane.setMargin(new Insets(0,0,0,0));
try {
pane.setPage(src);
image = new BufferedImage
(width, height, BufferedImage.TYPE_INT_RGB);
Graphics g = image.createGraphics();
Container c = new Container();
SwingUtilities.paintComponent
(g, pane, c, 0, 0, width, height);
g.dispose();
} catch (Exception e) {
System.out.println(e);
}
return image;
}
}

joejoe1991 2007-08-10
  • 打赏
  • 举报
回复
学习
zuoyangguang 2007-08-10
  • 打赏
  • 举报
回复
net_lover(【孟子E章】)
可能是我没有说明白,不是页面上的图片,而是将网页拷屏后的图片做成规定大小的图,然后保存

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧