jsoup下载图片

package test;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class download {
	public static int num = 0;

	public static void main(String[] args) throws IOException {
		Document doc = Jsoup.connect("http://guju.com.cn/photos/new").get();
		Elements elements = doc.select("img[src]");
		for (Element element : elements) {
			String imgUrl = element.attr("src");
			System.out.println(imgUrl);
			if (!imgUrl.startsWith("http://")) {
				imgUrl = "http:" + imgUrl;
			}
			new Thread(new download().new DownLoadThread(imgUrl)).start();
		}
	}

	public class DownLoadThread implements Runnable {
		private String imgUrl;

		public DownLoadThread(String url) {
			this.imgUrl = url;
		}

		@Override
		public void run() {
			FileOutputStream out = null;
			HttpURLConnection conn = null;
			try {
				URL url = new URL(imgUrl);
				conn = (HttpURLConnection) url.openConnection();
				conn.setRequestMethod("GET");
				conn.setReadTimeout(5 * 1000);
				InputStream inputStream = conn.getInputStream();
				// imgUrl.replaceAll("\\", "_").replaceAll("http:", "");
				String fileName = "e:\\photo\\"+num++ + ".jpg";
				out = new FileOutputStream(new File(fileName));
				byte[] arr = new byte[1024];
				int len = 0;
				while ((len = inputStream.read(arr)) != -1) {
					out.write(arr, 0, len);
				}
				System.out.println("=====处理完成====");
			} catch (Exception e) {
				e.printStackTrace();
			} finally {
				if (out != null) {
					try {
						out.close();
					} catch (IOException e) {
						e.printStackTrace();
					}
				}
				if (conn != null) {
					conn.disconnect();
				}

			}
		}

	}
}

时间: 2024-08-05 19:33:11

jsoup下载图片的相关文章

java中用jsoup抓取网页源码,并批量下载图片

一.导入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; i

Android 使用Jsoup解析html+下载图片

最近想鼓捣一下CSDN客户端,这篇博客主要介绍如何使用Jsoup解析html页面通过标签获取所需内容,并下载指定图片资源. 一.导入Jsoup JAR包 JAR包下载地址:jsoup 1.6.1 注意导入包到项目时,直接将解压后的jar文件全部复制到libs文件目录下即可,否则运行时会报错. 二.下载html页面并解析 代码: package com.example.testcsdn; import java.io.ByteArrayOutputStream; import java.io.IO

jsoup获取图片示例

import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import org.jsoup.Con

我的第一个python爬虫程序(从百度贴吧自动下载图片)

这个学期开设了编译原理和形式语言与自动机,里面都有介绍过正则表达式,今天自己学了学用python正则表达式写爬虫 一.网络爬虫的定义 网络爬虫,即Web Spider,是一个很形象的名字. 把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛. 网络蜘蛛是通过网页的链接地址来寻找网页的. 从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址, 然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止. 如果把整个互联网当成

一个失误导致微信下载图片接口Token失效

公司的应用调了一个微信上传下载图片的接口,本来在线上跑的好好的,什么问题没有,但是这两天总是不定时的出现下载下来的图片损坏,拿着Token和serverid去接口测试网页验证,返回的是Token失效了,返回信息:"errcode": 40001, "errmsg": "invalid credential, access_token is invalid or not latest hint: [17ZG50664ent3].我是把Token和ticket

利用Node 搭配uglify-js压缩js文件,批量下载图片到本地

Node的便民技巧-- 压缩代码 下载图片 压缩代码 相信很多前端的同学都会在上线前压缩JS代码,现在的Gulp Webpack Grunt......都能轻松实现.但问题来了,这些都不会,难道就要面对几十个JS文件一遍遍来回“复制-压缩-创建-粘贴”,这样太不人性化了. 于是可以借助Node + uglify-js 轻松实现.(前提你会点node操作) 1.首先看一下目录: |--uglifyJS |--js |--test1.js |--test2.js |--uglify.js   //这

【iOS开发之旅】AFNetworking与SDWebImage下载图片

AFNetworking与SDWebImage下载图片 // // ViewController.m // AFNetworkingDemo // // Created by ChenQianPing on 16/1/31. // Copyright © 2016年 chenqp. All rights reserved. // #import "ViewController.h" #import "AFNetworking.h" #import "UII

安卓AsyncTask异步下载图片

package com.example.day7_practise; import java.io.IOException;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import android.app.Activity;import android.app.ProgressDialog;import android.graphics.Bitmap;imp

UI13-异步下载图片

1 使用封装好的工具类,进行加载数据,存在数组中,加载好后重新刷新表内容.异步下载图片. 2.在model类中,使用方法对图片的网址进行解析,讲自己的image的地址,转化为image图片/ 在cell加载的时候调用. 3.在加载cell中图片的时候,如果图片为空,且不是正在加载中,调用model的方法进行对m的image赋值,此时注册观察者,当image的值发生改变时 触发观察者方法,此时已经有值可以对cell进行赋值:::如果图片有值,直接对cell进行赋值. 4.触发的观察者方法,找到新改