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.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获取图片示例的更多相关文章
- 从Gallery中获取图片示例
一.MainActivity类 package com.example.gallerydemo; import android.net.Uri; import android.os.Bundle; i ...
- Java jsoup获取网页中的图片
获取图片 package com.vfsd.net; import java.io.File; import java.io.FileOutputStream; import java.io.IOEx ...
- 【记录】JS 获取图片原始尺寸-防止图片溢出
示例代码: <div id="div_content"> <img src="http://static.cnblogs.com/images/logo ...
- 利用php获取图片完整Exif信息类 获取图片详细完整信息类
<?php /** * @Author: TonyLevid * @Copyright: TonyLevid.com * @Name: Image Exif Class * @Version: ...
- PHP获取图片颜色值
PHP获取图片颜色值,检测图片主要颜色的代码: <?php $i=imagecreatefromjpeg("photo3.jpg");//测试图片,自己定义一个,注意路径 f ...
- 简单的PHP上传图片和删除图片示例代码
分享一例简单的PHP上传图片和删除图片示例代码,很简单,适合初学的朋友参考,用来研究php上传图片还是不错的. 1.php上传图片: <?php if (!empty($_FILES[" ...
- [Swift]扩展UIImage :获取图片指定像素的颜色值
对[UIImage]进行扩展 import UIKit extension UIImage{ /** 根据坐标获取图片中的像素颜色值 */ subscript (x: Int, y: Int) -&g ...
- (四)Jsoup 获取 DOM 元素属性值
第一节: Jsoup 获取 DOM 元素属性值 Jsoup获取DOM元素属性值 比如我们要获取博客的href属性值: 我们这时候就要用到Jsoup来获取属性的值 : 我们给下示例代码: package ...
- Android -- 加载大图片到内存,从gallery获取图片,获取图片exif信息
1. 加载大图片到内存,从gallery获取图片 android默认的最大堆栈只有16M, 图片像素太高会导致内存不足的异常, 需要将图片等比例缩小到适合手机屏幕分辨率, 再加载. 从gallery ...
随机推荐
- Activity系列讲解---Activity运行时的屏幕方向,全屏,窗体模式的设置
Android内置了方向感应器的支持.Android会根据所处的方向自动在竖屏与横屏间切换.但是有的应用程序只能在横/竖屏时运行,比如某些游戏,此时我们要锁定该Activity运行时的屏幕方向,< ...
- 修复Linux Mint损坏的依赖
第一种: sudo apt-get install -f 第二种 sudo aptitude install -f 注: 要是某软件xxx依赖损坏了,可以这样 sudo aptitude instal ...
- DevExpress 在使用Ribbon皮肤时标题栏不变化的原因
将 form的 AllowFormGlass 属性 该为False 就可以标题栏皮肤化了.
- apk逆向 - smali动态调试
author: Dlive date: 2016/10/6 0x00 前言 之前有人问过smali的动态调试方法,其实网上已经有很多文章讲这些内容,但是为了方便大家学习,我还是写一下让大家少走点坑 ...
- set和map的简单用法
.set(集合)map(映射)都属于关联类容器 都支持查询一个元素是否存在并能够有效地获取元素. set集合的元素总是从小到大排列,set集合通过二分查找树实现.它具备以下两个特点: ①:独一无二的元 ...
- libsvm数据处理初略流程
- UML大战需求分析——阅读笔记04
读<UML大战需求分析>有感04 开发某系统的重要前提是: 这个系统有谁在用? 这些人通过这个系统能做什么事? 一般搞清楚这件事,再画个业务流程图,就能条例清楚的表达系统的需求了.作为一个 ...
- mysql主从配置
引言: 双11,阿里云服务器打折,于是我忍不住又买了一台服务器,于是咱也是有两台服务器的爷们了,既然有了两台服务器,那么肯定要好好利用一下吧,那么就来玩玩mysql的主从配置吧. 准备 两台数据库服务 ...
- html小结
网页开发工具:visual studio.net网页构架,方便设置标签属性,颜色值得属性有两种. 一.html的基本框架结构: <html> ----- <head> < ...
- 【协议分析】Wireshark 过滤表达式实例
Wireshark 过滤表达式实例 1.wireshark基本的语法 字符 \d 0-9的数字 \D \d的补集(以所以字符为全集,下同),即所有非数字的字符 ...