自动下载HTML中的非本地图片,并替换内容
转载的时候,文章中有图片,但是因为很多网站会做防盗链处理,使得在阅读文章时图片无法显示。
解决的办法,发文章时程序自动解析出文章中所有的图片,并下载到本地,然后将图片的URL地址改为本地地址。
下面是详细代码:
?
折叠展开?Java 代码复制内容到剪贴板
- package?net.oschina.utils; ??
- ??
-
import?java.io.File; ??
-
import?java.io.FileOutputStream; ??
-
import?java.io.IOException; ??
-
import?java.io.InputStream; ??
-
import?java.net.HttpURLConnection; ??
-
import?java.net.MalformedURLException; ??
-
import?java.net.URL; ??
-
import?java.text.SimpleDateFormat; ??
-
import?java.util.Date; ??
-
import?java.util.HashMap; ??
- ??
-
import?org.apache.commons.io.FilenameUtils; ??
-
import?org.apache.commons.io.IOUtils; ??
-
import?org.apache.commons.lang.RandomStringUtils; ??
-
import?org.apache.commons.lang.StringUtils; ??
-
import?org.jsoup.Jsoup; ??
-
import?org.jsoup.nodes.Document; ??
-
import?org.jsoup.nodes.Element; ??
-
import?org.jsoup.select.Elements; ??
- ??
-
import?my.mvc.BadWord; ??
-
import?my.mvc.BlockIP; ??
-
import?my.mvc.RequestContext; ??
-
import?my.util.Multimedia; ??
- ??
-
?
- ?
- ?
- ??
-
public?class?HTMLImageFetcher{ ??
- ??
-
????public?static?void?main(String[]?args)?{ ??
-
????????String?html?=?"这张图片很漂亮啊!"+ ??
-
????????????"<img?src='http://techcn.com.cn/uploads/201004/12705551313uy0urE3.jpg'?alt=''/>"+ ??
-
????????????"?,太帅了!<img?src='/img/logo.gif'?alt='oschina'/>"; ??
- ????????System.out.println(fetchHTML_Images(html)); ??
- ????} ??
- ???? ??
免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。