java 爬虫 图片_java实现爬虫爬取小姐姐图片
一、导入jsoup的maven依赖
org.jsoup
jsoup
1.8.3
二、运行代码 也可以自定义爬取的网站这里就以https://gank.io/special/Girl为例
package com.song;
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;
import java.util.UUID;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class SpyderTest {
/**
* [url=home.php?mod=space&uid=686208]@AuThor[/url] Maoyan
* [url=home.php?mod=space&uid=264116]@data[/url] 2020/3/31 12:30
* [url=home.php?mod=space&uid=1248337]@version[/url] 1.0.0
*/
private static HttpURLConnection conn = null;
private static InputStream inputStream = null;
private static BufferedInputStream bufferedInputStream = null;
private static FileOutputStream fileOutputStream = null;
//利用预编译正则表达式提高效率
private static Pattern pattern = Pattern.compile("/images/\\w+");
public static void main(String[] args) throws IOException {
for (int i = 1; i <= 5; i++) {
//创建url
URL url = new URL("https://gank.io/special/Girl/page/" + i);
//创建doc对象
Document document = Jsoup.parse(url, 20 * 1000);
//获取img标签
Elements imgs = document.getElementsByTag("title");
Elements elements = document.select("a[title][target][style]");
for (Element e :
elements) {
String image = "第" + i + "页:" + "https://gank.io" + e.attr("style");
//正则表达式
Matcher matcher = pattern.matcher(image);
while (matcher.find()) {
System.out.println("第" + i + "页:" + "https://gank.io" + matcher.group());
//这里可以写成工具类
File file = new File("D:\\picture\\littlesister");
if (!file.isDirectory() && !file.exists()) {
//如果文件夹不存在则创建一个文件夹
file.mkdirs();
}
//生成一个唯一的标记来当作图片名称
String filename = UUID.randomUUID().toString();
fileOutputStream = new FileOutputStream(file + "\\" + filename + ".jpeg");
//建立连接
URL imageurl = new URL("https://gank.io" + matcher.group());
conn = (HttpURLConnection) imageurl.openConnection();
//使用GET方法
conn.setRequestMethod("GET");
//连接指定的资源
conn.connect();
//获取输入流
inputStream = conn.getInputStream();
//新建buffer缓冲流包装输入流
bufferedInputStream = new BufferedInputStream(inputStream);
//创建大小为1k的"水桶"
byte[] bytes = new byte[1024];
//用于保存实际读取的字节数
int hasRead = 0;
//循环取水
System.out.println("开始下载第" + i + "页的图片");
while ((hasRead = inputStream.read(bytes)) > 0) {
fileOutputStream.write(bytes, 0, hasRead);
}
System.out.println("第" + i + "页的图片下载完成");
//释放资源
fileOutputStream.close();
bufferedInputStream.close();
inputStream.close();
}
}
}
}
}
上效果图
做壁纸啥的是够了,当然也可以适当的多喝营养快线~~~
java 爬虫 图片_java实现爬虫爬取小姐姐图片相关推荐
- Python爬取小姐姐图片
使用Python爬取小姐姐图片 首先上网站链接 唯美女生 爬取图片主要分为一下几步: 1.打开一个你喜欢的小姐姐的网站 E.g xiaojiejie web 2.下载并安装python环境 pytho ...
- python爬虫 爬取小姐姐图片
前言 大致熟悉了python的基础语法以后,开始学习爬虫基础. 一.爬取前的准备工作 python3.7环境(只要是python3版本都可以): 依赖包 : time requests re (缺少包 ...
- 数据获取网络爬虫之--爬取小姐姐图片
运行环境: python3+jupyter notebook 可直接运行 代码下载地址: https://download.csdn.net/download/weixin_44754046/1122 ...
- python爬虫爬取小姐姐图片(5762张)
接触爬虫的第一天 第一步:现将python环境搭建好,工欲利其事必先利其器! 第二步:寻找目标网站,我选择的网站是http://www.win4000.com,里面有一个美女板块,里面有各种小姐姐的照 ...
- python爬虫获取图片无法打开或已损坏_Python爬取小姐姐图片
爬取图片主要分为一下几步: 1.打开一个你喜欢的小姐姐的网站 2.下载并安装python环境 3.开始编码 python 全部代码如下 # requests 请求 需要提前在Terminal中安装 p ...
- python下载图片代码并解析_Python爬取小姐姐图片代码_批量下载
本帖最后由 OnlineYx 于 2021-1-13 14:44 编辑 我试着改了一下,写了个循环和判断,输出起始网页的ID和结束网页的ID就能批量地下载小姐姐了. 001.png (83.38 KB ...
- Beautifulsoup+正则表达式多线程爬取小姐姐图片
源码: import requests from requests.exceptions import RequestException from multiprocessing import Poo ...
- python爬取文字和图片_python爬虫--xpath结合re同时爬取文字与图片
还是老家的旅游网址:http://www.patour.cn/site/pananzxw/tcgl/index.html,将这些特产的图片及其介绍都爬取下来! 源码: 1 # -*- coding:u ...
- 循环爬取图片_Python爬虫爬取小姐姐照片!
哔哩哔哩上有一个相簿板块,里面有很多绘画和摄影,自己动手一张一张保存太慢,于是想到了python爬虫. 今天就用python来写个爬虫,爬取每月月榜上的小姐姐,一劳永逸. 爬虫步骤: 1.在bilib ...
最新文章
- Linux中的信号处理原理
- Linux系统中的防火墙的实现:iptables/netfilter
- curl代理ippost php_php使用curl通过代理获取数据的实现方法
- Tomcat配置和Web应用程序开发
- Python 判断字典是否有key,判断字典key的个数
- 04737 c++ 自学考试2019版 第二章课后程序设计题 3
- SQL实战之查找所有已经分配部门的员工的last_name和first_name
- 同一对象多条数据同时插入数据库
- 【图像修复】基于matlab GUI运动模糊消除(逆滤波)【含Matlab源码 847期】
- 用友nc java启动不了_用友NC开发本地启动客户端时界面空白问题的解决
- 手机怎么打开html页面,手机网页打不开怎么办?看了就知道了!
- HTC M7日文版HTL22刷机包 毒蛇2.5.0 ART NFC Sense6.0
- 如何绘制论文中的图表?
- mac 端口被占用 解决方案
- c1语言水平要多久,「西班牙留学」零基础到西班牙读语言,多久能到C1?
- WebSocket 简述
- linux文件权限管理实验心得,Linux+文件权限管理实验
- 打印机服务器未响应,打印机不能打印,点击打印后没反应
- springboot+清远旅游推荐网站 毕业设计-附源码211551
- 三次B样条插值和误差分析
热门文章
- php5 mysql怎样下载,PHP5操作MySQL数据库(5)
- 学习笔记之C / C++
- Spring3 MVC 深入研究
- Swift学习笔记_数据类型_整数类型
- 加载gif图片的方法:(需要SDWebImage方法)
- cisco的telnet终端显示debug调试信息
- 设置searchDisplayController的searchResultsTableView的UITableViewStyle为grouped
- HDU 5491 The Next
- 使用了visual assist.net
- 对Spring Boot还陌生吗?