我通过对HTML的解析,得到了图片的URL,例如<img src="http://xxx.xxx.xxx/xxx.gif"/>,这种情况,我可以通过打开一个输入流把http://xxx.xxx.xxx/xxx.gif保存到我的硬盘上,但是如果是这种情况:<img src="xxx/xxx.gif"/>,我该怎么得到这个图片呢?1、通过http的head得到相对路径的根再组成绝对地址。2、去浏览器的本地缓存地址取这个图片。我认为第二种好像难度大一些,第一种又不知道具体的做法。请指教第一种的具体做法,或者有更好的方案建议,谢谢。
解决方案 »
- sqlserver 函数赋值问题
- ByteArrayDataSource发送图片的问题,各位帮忙看看
- myeclipse中weblogic部署问题
- 怎样在action中从设置了enctype="multipart/form-data"的form中获取表单值
- 关于ibatis中的resultMap,知道的进来一下
- SSH整合求助~~
- ★★★新手求助啊!怎么找工作啊!★★★
- 网页中上传文件表单提交后,服务器端如何获得该文件
- 添加当前时间到date类型jsp怎么写啊,没分了。。。
- <%@ page contentType="text/html;charset=gb2312" %>
- 中文登陆名无效
- csdn,让网页变灰是怎么实现的?
其他的根据图片的具体位置加上 比如 request.getSession().getServletContext().getRealPath("")+"\\eWebEditor\\" +"xxx.gif";
URL url = new URL("http://www.java2000.net");
则读取这个页面的内容时,
<img src="images/1212/gif">
里面的相对路径都是 http://www.java2000.net/images/1212.gif加上你的 url 就行了!
你大概没有理解我的意思,我这程序是用来解析任意一个网络上的html,把里面的图片抓取出来,而不是在我自己的系统里找图片,所以没有request和session的。
=====================================
老紫竹 群:60925821 www.enjoyjava.net:
你说的这个方法我猜想应该可以解决大部分情况下的问题,但是像下面这样的情况应该就不行了:
比如URL url = new URL("http://www.java2000.net/xxxAction.do");
<img src="images/1212.gif"/>
这时如果组成http://www.java2000.net/xxxAction.do/images/1212.gif这样的URL,应该是取不到的我想。当然,这本身就是一个用于爬虫的程序,不需要保证100%的成功率,但是我想能不能有更好的思路或方法呢?
自己拼装一下。
老紫竹的方法应该也取得到的。