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 ...
随机推荐
- web自动化工具-livereload
web自动化工具-livereload livereload是一个很神奇的工具,主要解放了F5键,监听文件变动,整个页面自动刷新.可搭载gulp等构建工具使用.和liveStyle 针对样式文件相比, ...
- 设置session生存时间问题
// 在 php.ini 中设置 session.gc_maxlifetime = 1440 (默认) // 或者在 session_start() 前,设置 $lifetime = 86400 , ...
- C++中的vector 用法解析
一.概述 vector 是C++标准模板库的部分内容,他是一个多功能的,能够操作多种 数据结构和算法 的模板类和函数库. vector 是一个容器,它能够存放各种类型的对象, ...
- PHP获取某月天数
方式一: <?php function days($year,$month){ if($month<10){ $month = '0'.$month; } if($month == 12) ...
- 全部leetcode题目解答(不含带锁)
(记忆线:当时一刷完是1-205. 二刷88道.下次更新记得标记不能bug-free的原因.) 88-------------Perfect Squares(完美平方数.给一个整数,求出用平方数来 ...
- pwd命令
[pwd] 打印当前的工作目录 pwd==print work director 命令格式: pwd [OPTION]... 命令功能: 打印当前工作目录的全路径 命 ...
- Selenium FF WebDriver 加载firebug 和设置代理
首先这次使用的webDriver for Firefox的 由于项目的原因,需要在测试的时候加载Firebug和使用vpn,加载代理 Firefox 加载代理,可以从FF菜单上看,代理分为好几种 我这 ...
- ios项目里扒出来的json文件
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #000000 } p.p2 { margin: 0.0px 0. ...
- 【纯css】响应式图片列表
示例演示 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF- ...
- docker--初体验
docker这个词已经越来越热,很多docker的概念是从周围人和知乎上看的,打算从功能上先了解docker,深入的话放在以后. ps:正好手头有一台腾讯云的vps,单核,1G内存,可以拿来做实验,腾 ...