日期:2014-05-20  浏览次数:20756 次

今天去面试了,好困惑。
今天上午去面试,人家给我一个题目,说这个是你的面试题,问:如何使用程序扣取网页上面的图片?哪位能给 我解答呀!要求用程序实现。

------解决方案--------------------
URL
URLConnection


------解决方案--------------------
探讨

URL
URLConnection

------解决方案--------------------
这个简单啊, new URL("这里是网页地址").然后写个inputstream 和outputstream就可以获得页面中任何你想要的东西
------解决方案--------------------
url = new URL("http://www.baidu.com");
InputStream is = url.openStream();
接下来就是流的操作了
------解决方案--------------------
呵呵,本来我看我也不会,但看了帖子才发现原来是这样的!
------解决方案--------------------
题目很含糊,不知道在问什么。
------解决方案--------------------
恩,的确很含糊,最直接的理解就是通过URLConnection链接到某一个网页,然后根据返回的字符串找到<img>标签,然后找到src属性。。。之后就是图片路径。。。
------解决方案--------------------
简单的图片就按楼上说的拿可以了,如果是写在js里面的图片或者是css里定义的图片就麻烦一点
------解决方案--------------------
挑一个浏览器引擎用
------解决方案--------------------
标签分析吧。分析<img/>标签。
不过自己感觉不怎么靠谱。因为如果页面是用js脚本生成的话,那么意味着我这种方法完全失效。

想了一下,好像还有另外一种方法。因为图片要显示在网页上的话,一定是通过请求从网站后台或者其他地址获取的。想办法获取网页上面所有的请求和链接信息,然后分析哪些请求是图片。通过分析扩展名,可以把它们都拿下来。

不过不知道CSS中background-image:url();中的内容能不能通过这种方式获取下来。请大神们解答吧。