java中用jsoup抓取网页源码,并批量下载图片
来源:互联网 发布:删除表多个字段sql 编辑:程序博客网 时间:2024/05/17 00:17
一、导入jsoup的核心jar包jsoup-xxx.jar
jar包下载:jsoup-1.8.2.jar
中文API:http://www.open-open.com/jsoup/parsing-a-document.htm
二、java中用jsoup抓取网页源码,并批量下载图片
package com.dgh.test;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.UnsupportedEncodingException;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLEncoder;import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;import org.jsoup.select.Elements;/** * * 抓取网页资源 * @author wangcunhuazi * */public class JsoupTest {//资源所在的网页地址private static String resourceURL = "http://www.csdn.net/"; //资源下载之后,保存在本地的文件路径private static String downloadFilePath = "E://downloadImage//";/** * * 根据图片的外网地址下载图片到本地硬盘的filePath * @param filePath 本地保存图片的文件路径 * @param imgUrl 图片的外网地址 * @throws UnsupportedEncodingException * */public static void downImages(String filePath,String imgUrl) throws UnsupportedEncodingException {//图片url中的前面部分:例如"http://images.csdn.net/"String beforeUrl = imgUrl.substring(0,imgUrl.lastIndexOf("/")+1);//图片url中的后面部分:例如“20150529/PP6A7429_副本1.jpg”String fileName = imgUrl.substring(imgUrl.lastIndexOf("/")+1);//编码之后的fileName,空格会变成字符"+"String newFileName = URLEncoder.encode(fileName, "UTF-8");//把编码之后的fileName中的字符"+",替换为UTF-8中的空格表示:"%20"newFileName = newFileName.replaceAll("\\+", "\\%20");//编码之后的urlimgUrl = beforeUrl + newFileName;try {//创建文件目录File files = new File(filePath);if (!files.exists()) {files.mkdirs();}//获取下载地址URL url = new URL(imgUrl);//链接网络地址HttpURLConnection connection = (HttpURLConnection)url.openConnection();//获取链接的输出流InputStream is = connection.getInputStream();//创建文件,fileName为编码之前的文件名File file = new File(filePath + fileName);//根据输入流写入文件FileOutputStream out = new FileOutputStream(file);int i = 0;while((i = is.read()) != -1){out.write(i);}out.close();is.close();} catch (Exception e) {e.printStackTrace();}}public static void main(String[] args) throws IOException {//从一个网站获取和解析一个HTML文档,jsoup的API中有此方法的说明Document document = Jsoup.connect(resourceURL).get();//System.out.println(document);//获取所有的img标签Elements elements = document.getElementsByTag("img");for(Element element : elements){//获取每个img标签的src属性的内容,即图片地址,加"abs:"表示绝对路径String imgSrc = element.attr("abs:src");//下载图片文件到电脑的本地硬盘上System.out.println("正在下载图片:-----------" + imgSrc);downImages(downloadFilePath, imgSrc);System.out.println("图片下载完毕:-----------" + imgSrc);System.out.println("-------------------------------------------------------------------------------------------------------------");}System.out.println("共下载了 " + elements.size() +" 个文件(不去重)");}}
更多jsoup使用方法的详细说明: http://blog.csdn.net/wangcunhuazi/article/details/46237277
http://blog.csdn.net/wangcunhuazi/article/details/46237211
http://blog.csdn.net/wangcunhuazi/article/details/46237325
0 0
- java中用jsoup抓取网页源码,并批量下载图片
- JAVA抓取网页图片并下载到本地
- Java Jsoup抓取符合指定大小的网页的图片,并保存在本地磁盘
- Java抓取网页数据-----Jsoup
- java 抓取网页图片并保存
- JAVA jsoup网络抓取图片
- jsoup获取图片并下载
- java爬虫实战简单用Jsoup框架进行网页爬虫(如抓取网页图片)
- 需求(Java);利用Jsoup架包获取指定网页的全部图片,并自动下载到指定文件夹中
- 网页批量下载图片
- java 批量下载图片,批量打包文件并下载
- java 批量下载图片,批量打包文件并下载
- 推荐 - Jsoup(附网页批量抓取例子)
- java 抓取网页图片
- php批量下载网页图片并替换路径为本地
- JSOUP抓取网页内容
- Jsoup网页抓取技术
- 网页抓取jsoup
- 欢迎使用CSDN-markdown编辑器
- 那些n位数
- Selection sort的java语言实现
- 第十三周项目三——立体类族共有的抽象类
- 第七章 实现炫酷效果—图像和动画(1)
- java中用jsoup抓取网页源码,并批量下载图片
- POJ 2976 Dropping tests 01分数规划
- 操作系统--进程管理
- 第七章 实现炫酷效果—图像和动画(2)
- 关于 java JSONArray JSONObject转换问题
- javaweb-servlet开发
- 《C Primer Plus(第5版)中文版》第7章编程练习第11题
- Android Service完全解析
- 第七章 实现炫酷效果—图像和动画(3)