Java案例实战:Httpclient 实现网络请求 + Jsoup 解析网页( 三 )


Java案例实战:Httpclient 实现网络请求 + Jsoup 解析网页

文章插图
 
(4.3)修改 Test 类 main 方法最终代码如下:
public static void main(String args[]) throws Exception {String html = HttpTool.doGet("http://www.zyqok.cn/material/index");// 将 html 页面解析为 Document 对象Document doc = Jsoup.parse(html);// 获取所有包含 class = material-div 的 div 元素Elements elements = doc.select("div.material-div");for (int i = 0; i<elements.size(); i++) {Element div = elements.get(i);// 获取第1个 img 元素Element img = div.selectFirst("img");// 获取第1个 font 元素Element font = div.selectFirst("font");// 获取img元素src属性,即为图片链接String src = https://www.isolves.com/it/cxkf/yy/JAVA/2020-08-13/img.attr("src");// 获取name元素文本,即为图片名称String name = font.text();if (!name.contains(".")) {name += ".jpg";}HttpTool.saveImg(src, i + name);System.out.println("抓取第 " + i + " 张图片成功! 图片名称 : " + name);}System.out.println("所有图片抓取完成 !!");}
Java案例实战:Httpclient 实现网络请求 + Jsoup 解析网页

文章插图
 
(4.4)执行代码,打印如下图,看到这个结果,是不是感觉有点文章开头的展示味道了 。
最后,我们只需要去本地文件夹下看看,所有图片是否成功保存到了本地?如果有图片,则我们就成功了 。
Java案例实战:Httpclient 实现网络请求 + Jsoup 解析网页

文章插图
 
(4.5)我们打开D盘imgs文件夹,可以看到网站上的图片确实已经全部保存到本地了 。
Java案例实战:Httpclient 实现网络请求 + Jsoup 解析网页

文章插图
 
【5】结尾语通过我们 [批量抓取网络图片] 这一实战案例,我们可以感受到:通过 Httopclient 和 Jsoup 这两种技术,不仅仅可以批量抓取数据,其实还可以实现很多功能 。
比如:网站登录,分布式服务器之间的数据传递,三方平台的API对接,有效数据的筛选和保存,数据的二次加工等等 。




推荐阅读