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.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements; // 爬取图片
public class Baidu { public static void main(String[] args) {
String urlPath = "http://www.*****.com/chemo/2043_2.html";
int index = 2;
for (int j = 0; j <= 20; j++) {
urlPath = "http://www.****.com/chemo/2043_" + (index++) + ".html"; File f = new File("F:/imgs");
if (!f.exists()) {
f.mkdirs();
} Document doc;
try {
doc = Jsoup.connect(urlPath).timeout(10000).get(); // 获取后缀为jpg的图片的元素集合
Elements pngs = doc.select("img[src$=.jpg]");
// 遍历元素
for (Element e : pngs) {
String src = e.attr("src");// 获取img中的src路径
// 获取后缀名
String imageName = src.substring(src.lastIndexOf("/") + 1,
src.length());
// 连接url
URL url;
try {
url = new URL(src);
URLConnection uri = url.openConnection();
// 获取数据流
InputStream is = uri.getInputStream();
// 写入数据流
OutputStream os = new FileOutputStream(new File(
"F:/imgs", imageName)); byte[] buf = new byte[3072];
int i = 0;
while ((i = is.read()) != -1) {
os.write(i);
}
                os.close();
} catch (MalformedURLException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
} } } catch (IOException e2) {
e2.printStackTrace();
}
} } }

这里用的是jsoup1.6.3jar

研究了一天时间,说说碰到的难题。我这里抓取的是以.jpg为主的图片.

当时没有获取图片的后缀名,每次往电脑上下载图片总是新建一个空的文件夹。一定要获取到图片的后缀名才行。

还有一点就是我这个方法不一定适合所有的网站,不同网站的src地址不一样,需要注意一下。

我这个是有20多页的图片,简单用了个循环,每页的地址都有规律,找到规律就手到擒来了。

刚研究,如有高手,还望赐教。

jsoup获取图片示例的更多相关文章

  1. 从Gallery中获取图片示例

    一.MainActivity类 package com.example.gallerydemo; import android.net.Uri; import android.os.Bundle; i ...

  2. Java jsoup获取网页中的图片

    获取图片 package com.vfsd.net; import java.io.File; import java.io.FileOutputStream; import java.io.IOEx ...

  3. 【记录】JS 获取图片原始尺寸-防止图片溢出

    示例代码: <div id="div_content"> <img src="http://static.cnblogs.com/images/logo ...

  4. 利用php获取图片完整Exif信息类 获取图片详细完整信息类

    <?php /** * @Author: TonyLevid * @Copyright: TonyLevid.com * @Name: Image Exif Class * @Version: ...

  5. PHP获取图片颜色值

    PHP获取图片颜色值,检测图片主要颜色的代码: <?php $i=imagecreatefromjpeg("photo3.jpg");//测试图片,自己定义一个,注意路径 f ...

  6. 简单的PHP上传图片和删除图片示例代码

    分享一例简单的PHP上传图片和删除图片示例代码,很简单,适合初学的朋友参考,用来研究php上传图片还是不错的. 1.php上传图片: <?php if (!empty($_FILES[" ...

  7. [Swift]扩展UIImage :获取图片指定像素的颜色值

    对[UIImage]进行扩展 import UIKit extension UIImage{ /** 根据坐标获取图片中的像素颜色值 */ subscript (x: Int, y: Int) -&g ...

  8. (四)Jsoup 获取 DOM 元素属性值

    第一节: Jsoup 获取 DOM 元素属性值 Jsoup获取DOM元素属性值 比如我们要获取博客的href属性值: 我们这时候就要用到Jsoup来获取属性的值 : 我们给下示例代码: package ...

  9. Android -- 加载大图片到内存,从gallery获取图片,获取图片exif信息

    1. 加载大图片到内存,从gallery获取图片 android默认的最大堆栈只有16M, 图片像素太高会导致内存不足的异常, 需要将图片等比例缩小到适合手机屏幕分辨率, 再加载. 从gallery ...

随机推荐

  1. 微信共享收货地址 edit_address:fail 吐白沫级解决方案

    又被微信坑了一整天,看完官方文档怎么测试都不通过,我一直怀疑是新版本微信支付我没有设置“共享收货地址”开关造成的. 后来经过验证,新版本不需要做这件事了. 那么,我没错,是微信的文档没及时更新... ...

  2. python3 -pip

    https://docs.python.org/3/installing/ ===== pip is the preferred installer program. Starting with Py ...

  3. MyBatis的getStatement()方法解析

    执行junit测试: 解析: 抛出这个异常的原因可能是因为mapper.xml配置文件中<mapper>的namespace属性配置错误造成的,没有根据命名空间的值(全称类名)找到相应映射 ...

  4. printf对齐

    C语言中,将printf函数打印出的字符像表格一样分类对齐.%-10d表示这个字符型占10个字节,负号表示左对齐.即下面表格中的x1位置开始填充.如果是%10d,表示右对齐,即在x10位置对齐. x1 ...

  5. HDU 1754 I Hate It 线段树单点更新求最大值

    题目链接 线段树入门题,线段树单点更新求最大值问题. #include <iostream> #include <cstdio> #include <cmath> ...

  6. swift 的枚举、结构体、类

    一.Swift的枚举 枚举是一系相关联的值定义的一个公共的组类型,同时能够让你在编程的时候在类型安全的情况下去使用这些值.Swift中的枚举比OC中的枚举强大得多, 因为Swift中的枚举是一等类型, ...

  7. Splinter学习——不仅仅是自动化测试哦

    前两天,想抢购一个小米MIX,结果,一开始抢就没有了.于是想,作为程序猿,总得有点特殊手段吧,比如说一个小脚本.最近在学习python,百度了一下,发现了Splinter这个强大的东东!用了不到两小时 ...

  8. width:100%;与width:auto;的区别

    <div> <p>1111</p> </div> div{ width:980px; background-color: #ccc; height:30 ...

  9. jquery遍历不同色彩的li

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. 前端工具gulp使用

    一.构建gulp环境 1.下载nodejs gulp基于node.js,要通过nodejs的npm安装gulp,所以要先安装node.js环境.(英文官网/中文官网链接). 通过cmd命令窗口确定安装 ...