爬取指定网页图片

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
public class DownLoadImage {public static void downLink() throws IOException {//InputStreamReader isr = new InputStreamReader(new FileInputStream("C:\\Users\\18404\\Desktop\\人脸库.html"), "UTF-8");//本地网页文件File input = new File("C:\\Users\\18404\\Desktop\\1.html");//读取网页内容Document doc = Jsoup.parse(input, "UTF-8", "https://mp.weixin.qq.com/s/fUgISHL-ZrcI1efDiiZR2w");//获取指定页面内容Element content = doc.getElementById("js_content");//System.out.println(content);//根据标签读取所有内容Elements links = content.getElementsByTag("img");System.out.println(links.size());//遍历标签for (Element link : links) {String linkHref = link.attr("data-src");System.out.println(linkHref);//根据图片链接生成图片new DownLoadImage().downImage(linkHref);//String linkText = link.text();}}public  void downImage(String strUrl) throws IOException {//String strUrl = "https://mmbiz.qpic.cn/mmbiz_jpg/v1hBUnx9Fm2wSCSw6c5R1JkLQXSsOtpNUzEOgQTN1NHgQJans5ER2DNR7dAz1PfRHSCKmN2dPs1cnsibdeMutyg/640?wx_fmt=jpeg";//构造URLURL url = new URL(strUrl);//构造连接HttpURLConnection conn = (HttpURLConnection) url.openConnection();//这个网站要模拟浏览器才行conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko");//打开连接conn.connect();//打开这个网站的输入流InputStream inStream = conn.getInputStream();//用这个做中转站 ,把图片数据都放在了这里,再调用toByteArray()即可获得数据的byte数组ByteArrayOutputStream outStream = new ByteArrayOutputStream();//用这个是很好的,不用一次就把图片读到了文件中//要是需要把图片用作其他用途呢?所以直接把图片的数据弄成一个变量,十分有用//相当于操作这个变量就能操作图片了byte[] buf = new byte[1024];//为什么是1024?//1024Byte=1KB,分配1KB的缓存//这个就是循环读取,是一个临时空间,多大都没关系//这没有什么大的关系,你就是用999这样的数字也没有问题,就是每次读取的最大字节数。//byte[]的大小,说明你一次操作最大字节是多少//虽然读的是9M的文件,其实你的内存只用1M来处理,节省了很多空间.//当然,设得小,说明I/O操作会比较频繁,I/O操作耗时比较长,//这多少会有点性能上的影响.这看你是想用空间换时间,还是想用时间换空间了.//时间慢总比内存溢出程序崩溃强.如果内存足够的话,我会考虑设大点.int len = 0;//读取图片数据while ((len = inStream.read(buf)) != -1) {//System.out.println(len);outStream.write(buf, 0, len);}inStream.close();outStream.close();//把图片数据填入文件中随机数命名int max=100000,min=1;int ran2 = (int) (Math.random()*(max-min)+min);System.out.println(ran2);File file = new File("C:\\Users\\18404\\Desktop\\1\\"+ran2+".jpg");FileOutputStream op = new FileOutputStream(file);op.write(outStream.toByteArray());op.close();}public static void main(String[] args) throws IOException {downLink();}}

爬取图片-工作常用小工具01相关推荐

  1. java web 项目 常用 小工具类 ~~~~

    java web 项目 常用 小工具类 ~~~~ 一 .DateUtil  日期工具类 package com.devframe.common.util;import java.text.Simple ...

  2. 几款***常用小工具的使用说明

    几款***常用小工具的使用说明 2007-07-09 07:04:55 标签:*** 工具 [推送到技术圈] 版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声 ...

  3. python 24位图转 8位_Python爬取PPT模板小工具下载-Python爬取PPT模板小工具免费版下载v1.0...

    由于很多PPT抓取工具都会因为版本问题无法使用,所以论坛大神就自己写了这款Python爬取PPT模板小工具,可以帮助用户轻松获取各种PPT模板,使用的时候注意一次只能下载一种类型.软件仅供交流学习,下 ...

  4. python爬取ppt代码_Python爬取PPT模板小工具

    由于很多PPT抓取工具都会因为版本问题无法使用,所以论坛大神就自己写了这款Python爬取PPT模板小工具,可以帮助用户轻松获取各种PPT模板,使用的时候注意一次只能下载一种类型.软件仅供交流学习,下 ...

  5. 华为手机桌面怎么添加工作计划小工具

    在华为手机上可以通过窗口小工具功能,将天气.图库及音乐等各种小工具添加到桌面上,那么手机桌面小工具能显示工作计划内容吗?答案是肯定的,使用云便签记录的工作计划内容,就支持显示在手机桌面上.那具体华为手 ...

  6. 常用小工具:一款好用、实用的“日常工作安排”桌面日历

    今天同为各位上班族朋友推荐一款实用.好用的小工具,日常工作安排 的电子日历 桌面日历(DesktopCal) 先说说我的使用需求和场景吧. 1. 接到客户电话后的事件记录,备忘 2. 领导安排的任务, ...

  7. 可以帮助提升程序员高效工作效率的常用小工具推荐

    给大家分享一些程序员的实用工具,工具用得好,帮助你快速提升效率.     1.Xmind思维导图     Xmind是一款比较适合记录想法的软件,尤其是在当你负责项目的时候,把项目的各方面想法进行细化 ...

  8. Python网络爬虫——爬取网站图片小工具

    最近初学python爬虫,就写了一个爬取网站图片的小工具,界面如下: 用到的包主要是爬虫常用的urllib,urllib2和图形界面用的Tkinter,完整代码如下: # -*- coding:utf ...

  9. 计算机与信息技术常用小工具

    一.图片编辑工具:Photoshop Photoshop主要处理以像素所构成的数字图像.使用其众多的编修与绘图工具,可以有效地进行图片编辑工作.ps有很多功能,在图像.图形.文字.视频.出版等各方面都 ...

最新文章

  1. java11正式发布了,让java代码更完美
  2. android 显示进度的按钮
  3. 关于mobile中datagrid的使用
  4. JPA分页查询与条件分页查询
  5. 创业中的“孙子兵法”
  6. 求出一个整型数组的最大子集和
  7. 普通话水平测试用朗读作品60篇-(练习版)
  8. linux强制删除文件夹
  9. php使用加密狗,加密狗使用方法
  10. 不用U盘从linux重装win系统,不用U盘和光盘安装win7旗舰版系统
  11. logstash 时间获取失败(yyyy-mm-dd失效)
  12. 基于Android的万豪酒店APP设计与实现
  13. 用Python解决一个简单的数论问题——x分解为a^2+b^2
  14. springboot启动报org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean..
  15. Chapter 27 HTTP and WWW 第二十七章HTTP和WWW协议作业
  16. 华为的价值主张带给施工企业数字化转型的价值思考
  17. 底价团购潮 proscenic扫地机器人京东热卖
  18. 初等数论——欧几里得算法
  19. dos导入MySQL之后乱码_通过命令行导入到mysql数据库时出现乱码的解决方法
  20. C#窗体Combobox简单用法(1)

热门文章

  1. 仿淘宝商品界面(html div+css)
  2. 凯云水利水电工程造价管理系统 技术解析(四)取费管理(一)
  3. 都2021年了,你还在考虑电赛飞行器赛题,备赛是否有必要用基于TI处理芯片的飞控问题?
  4. 腾讯网页游戏微端服务器进程,彻底卸载腾讯网页游戏微端服务程序和腾讯游戏盒子的方法...
  5. 小学生c语言入门ppt,C语言入门至精完整版46759.ppt
  6. Python绘制小红花
  7. 磁盘阵列是什么,主要做什么用?
  8. java oracle 时间查询_Oracle 日期查询
  9. excel多元回归-系数参数解读
  10. iOS10新特性及开发者要注意什么