资源简介
使用Java语言实现爬虫,用来爬取某个网站上的图片
Httpclient负责发送请求
Jsoup负责解析
完整案例
可直接运行
有爬虫思路解析图

代码片段和文件信息
package com;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import org.apache.http.HttpEntity;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
/**
*
* @ClassName: ImgUtil
* @Description: TODO(爬虫工具)
* @author Admin
* @date 2018年6月17日
*
*/
public class ImgUtil {
// 定义一个url地址
private static String url = “http://www.netbian.com/desk/20747.htm“;
/**
*
* @title: main @Description: TODO(这个类的入口) @param @param args 参数 @return
* void 返回类型 @throws
*/
public static void main(String[] args) {
String code = null;
ArrayList list = null;
System.out.println(“开始“);
for(int i = 0; i<10; i++){
code = getCodeByUrl(url);//获取源代码
list= getImgListFromCode(code);//获取图片的地址的集合
saveImgList(list);//将图片保存到本地
getNextFromCode(code);//解析源代码获取下一页地址
}
System.out.println(“结束“);
}
/**
*
* @title: getNextFromCode
* @Description: TODO(解析源代码获取下一页地址)
* @param @param code 参数
* @return void 返回类型
* @throws
*/
public static void getNextFromCode(String code){
//解析源代码获取下一页地址
//页面一定是一个Document对象
//创建一个Document对象
Document document = Jsoup.parse(code);
//节点 获取需要的节点
Elements elements = document.select(“div[class=list]“).select(“a“);
int k = elements.size();
for(int i = 0 ; i < k; i++){
String urlNew = elements.get(i).attr(“href“);
if(i == 0){
url = “http://www.netbian.com“ + urlNew;
}
}
}
/**
*
* @title: saveImgList
* @Description: TODO(遍历图片的地址集合 将图片保存到本地)
* @param @param list 参数
* @return void 返回类型
* @throws
*/
public static void saveImgList(ArrayList list){
//遍历图片的地址集合 将图片保存到本地
int k = list.size();
String src = null;//图片的地址
//定义文件
File file = null;
//定义URL对象
URL url = null;
//定义URL的连接
HttpURLConnection httpURLConnection = null;
//创建输入流
InputStream inputStream = null;
//创建文件输出流
FileOutputStream fileOutputStream = null;
try {
for(int i = 0; i < k; i++){
src = list.get(i);
//将src转换成url地址
url = new URL(src);
//建立连接
httpURLConnection = (HttpURLConnection) url.openConnection();
//定义连接方式
httpURLConnection.setRequestMethod(“GET“);
//设置请求的超时信息
httpURLConnection.setConnectTimeout(5000);
//获取文件输入流
inputStream = httpURLConnection.getInputStream();
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-06-17 22:15 Java爬虫爬取图片\
目录 0 2018-06-17 22:15 Java爬虫爬取图片\GetImgs\
文件 836 2018-06-17 18:56 Java爬虫爬取图片\GetImgs\.classpath
文件 1040 2018-06-17 18:56 Java爬虫爬取图片\GetImgs\.project
目录 0 2018-06-17 22:15 Java爬虫爬取图片\GetImgs\.settings\
文件 567 2018-06-17 18:56 Java爬虫爬取图片\GetImgs\.settings\.jsdtscope
文件 364 2018-06-17 18:56 Java爬虫爬取图片\GetImgs\.settings\org.eclipse.jdt.core.prefs
文件 473 2018-06-17 18:56 Java爬虫爬取图片\GetImgs\.settings\org.eclipse.wst.common.component
文件 345 2018-06-17 18:56 Java爬虫爬取图片\GetImgs\.settings\org.eclipse.wst.common.project.facet.core.xm
文件 49 2018-06-17 18:56 Java爬虫爬取图片\GetImgs\.settings\org.eclipse.wst.jsdt.ui.superType.container
文件 6 2018-06-17 18:56 Java爬虫爬取图片\GetImgs\.settings\org.eclipse.wst.jsdt.ui.superType.name
目录 0 2018-06-17 22:15 Java爬虫爬取图片\GetImgs\WebContent\
目录 0 2018-06-17 22:15 Java爬虫爬取图片\GetImgs\WebContent\me
文件 39 2018-06-17 18:56 Java爬虫爬取图片\GetImgs\WebContent\me
目录 0 2018-06-17 22:15 Java爬虫爬取图片\GetImgs\WebContent\WEB-INF\
目录 0 2018-06-17 22:15 Java爬虫爬取图片\GetImgs\WebContent\WEB-INF\lib\
文件 61829 2018-06-17 19:25 Java爬虫爬取图片\GetImgs\WebContent\WEB-INF\lib\commons-logging-1.2.jar
文件 766123 2018-06-17 19:25 Java爬虫爬取图片\GetImgs\WebContent\WEB-INF\lib\httpclient-4.5.5.jar
文件 325491 2018-06-17 19:25 Java爬虫爬取图片\GetImgs\WebContent\WEB-INF\lib\httpcore-4.4.9.jar
文件 395748 2018-06-17 19:26 Java爬虫爬取图片\GetImgs\WebContent\WEB-INF\lib\jsoup-1.11.3.jar
文件 650 2018-06-17 18:56 Java爬虫爬取图片\GetImgs\WebContent\WEB-INF\web.xm
目录 0 2018-06-17 22:15 Java爬虫爬取图片\GetImgs\build\
目录 0 2018-06-17 22:15 Java爬虫爬取图片\GetImgs\build\classes\
目录 0 2018-06-17 22:15 Java爬虫爬取图片\GetImgs\build\classes\com\
文件 6266 2018-06-17 22:06 Java爬虫爬取图片\GetImgs\build\classes\com\ImgUtil.class
目录 0 2018-06-17 22:15 Java爬虫爬取图片\GetImgs\src\
目录 0 2018-06-17 22:15 Java爬虫爬取图片\GetImgs\src\com\
文件 6591 2018-06-17 22:01 Java爬虫爬取图片\GetImgs\src\com\ImgUtil.java
文件 52756 2018-05-01 22:22 Java爬虫爬取图片\爬虫思路.jpg
- 上一篇:Java编程思想第4版-8ad3.epub
- 下一篇:合肥学院移动教务系统.apk
相关资源
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
- [免费]java实现有障碍物的贪吃蛇游戏
- java Servlet投票实例
评论
共有 条评论