使用jsoup实现抓取他人博客图片

    在网上看到别人优秀的博文时,会忍不住转载到自己的网站上来。对于那些配有图片的博客,也需要把配套的图片复制到自己的小站上来,而不是通过博文中的URL连接到原来图片地址上去,为了实现这个功能,我选择使用JSOUP组件来实现这个功能。

    具体思路是:使用jsoup查找到转载文章中的所有img标签并获取图片地址,然后将图片地址下载到本地预先设定好的目录,同时将原文中的图片地址修改成小站的地址。

    具体实现的代码如下:

	private String downloadImages(String content) {
		Document doc = Jsoup.parse(content);
		Elements imgs = doc.getElementsByTag("img");
		if (imgs != null) {
			String siteImgHome = "xxxxx";
			Iterator<Element> images = imgs.iterator();
			while (images.hasNext()) {
				Element img = images.next();
				String src = img.attr("src");

				if (src != null && src.startsWith("http://")
						&& !src.startsWith("http://www.coolskill.net")) {
					try {
						String rpath = xxxxxxx;
						File newFile = new File(siteImgHome, rpath);
						if (!newFile.exists()) {
							Log.debug("download file [%s]",
									newFile.getAbsolutePath());
							if (!newFile.getParentFile().exists()) {
								newFile.getParentFile().mkdirs();
							}
							//download logic
						}
						content = content.replaceAll(src,
								"http://www.coolskill.net/s1/" + rpath);
					} catch (Exception e) {
						//exception
					}

				}
			}
		}
		return content;
	}