1. HttpClient抓取图片
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.andrew</groupId>
<artifactId>HttpClientDemo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.2</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.5</version>
</dependency>
</dependencies>
</project>
Demo01.java
package com.andrew.httpClient.chap03;
import java.io.File;
import java.io.InputStream;
import org.apache.commons.io.FileUtils;
import org.apache.http.HttpEntity;
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;
public class Demo01 {
public static void main(String[] args) throws Exception {
CloseableHttpClient httpClient = HttpClients.createDefault(); // 创建httpClient实例
HttpGet httpGet = new HttpGet("http://www.pptbz.com/pptpic/UploadFiles_6909/201203/2012031220134655.jpg"); // 创建httpget实例
httpGet.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0");
CloseableHttpResponse response = httpClient.execute(httpGet); // 执行http get请求
HttpEntity entity = response.getEntity(); // 获取返回实体
if (entity != null) {
System.out.println("ContentType:" + entity.getContentType().getValue());
InputStream inputStream = entity.getContent();
FileUtils.copyToFile(inputStream, new File("E://chap03demo01.gif"));
}
response.close(); // response关闭
httpClient.close(); // httpClient关闭
}
}
运行结果:
ContentType:image/jpeg
分享到:
相关推荐
网页抓取图片WinForm工具源码是一个基于C#开发的应用程序,主要针对后端开发者,由Microsoft提供的.NET Framework支持。这个工具设计简洁实用,能够帮助用户轻松地抓取指定网页上的所有图片,并将它们保存到本地指定...
Jsoup+httpclient 模拟登录和抓取知识点: 1. Jsoup库使用介绍: - Jsoup是一个Java的HTML解析器,能够直接解析HTML文档,提供类似于jQuery的操作方法。 - 主要功能包括从URL、文件或字符串中解析HTML,使用DOM或...
虽然这不是抓取图片的重点,但有时可能需要对抓取到的图片进行处理,如缩放、裁剪等。`System.Drawing`命名空间提供了`Bitmap`和`Graphics`类,可以实现这些功能。 6. **错误处理**: 在网络请求过程中,可能会...
httpClient 4.1.3 获取css中图片 java源代码 分享给各位 想下载css中的图片 还可以用来学习httpClient 里面含有httpClient4的jar包,还用了swing的好看的主题。
在抓取图片的过程中,我们首先会用HttpClient获取网页源代码,然后使用HtmlAgilityPack解析HTML,找到所有的图片链接(`<img>`标签)。 接着,正则表达式或XPath是定位HTML元素的强大工具。例如,我们可以使用正则...
- **网页抓取**:HttpClient 可用于抓取网页内容,进行网页分析或数据提取。 - **API调用**:对于RESTful API,HttpClient 是一个理想的客户端工具,可以方便地发送JSON或XML数据。 - **文件上传下载**:通过POST...
在本场景中,网络蜘蛛的主要任务是抓取网上的图片。这个过程涉及到多个技术环节,包括网页解析、URL管理、图片下载以及可能的数据存储。 首先,**网页解析**是网络蜘蛛工作的核心部分。它通常使用HTML解析库,如...
总结来说,利用C#进行网页抓取图片涉及的关键知识点包括:使用HttpClient发送HTTP请求、HtmlAgilityPack解析HTML、下载图片以及使用WebBrowser控件或第三方库将网页另存为图片。以上代码片段提供了基本的操作示例,...
现在我们有了图片的URL,可以使用Java的`HttpURLConnection`或者第三方库如Apache HttpClient来下载图片。以下是一个简单的下载函数: ```java public static void downloadImage(String imageUrl, String savePath...
HttpClient支持HTTP/1.1和部分HTTP/2协议,可以用于执行GET、POST、PUT等各种HTTP方法,同时具备处理Cookie、重定向、认证等功能,非常适合在Java应用中进行网络数据的抓取或发送。 二、HttpClient的核心组件 1. **...
在Java编程中,下载图片是一项常见的任务,尤其在构建Web应用程序或者...如果需要处理大量图片或从HTML页面抓取图片,那么后两者可能更为合适。记得在实际使用时,添加适当的错误处理和资源关闭,以保证程序的健壮性。
在本项目中,提供的“爬虫抓取图片”可能包含以下几个部分: 1. **主程序**:设置URL,启动爬虫过程。 2. **网络请求模块**:发送HTTP请求并接收响应。 3. **HTML解析模块**:使用Jsoup解析HTML,提取图片链接。 4. ...
在VB.NET编程环境中,开发一个将网页抓取并保存为图片的程序是一项常见的需求,尤其在网站截图、页面存档或者生成预览图时。这个名为"将网页抓取成图片格式的VB.NET程序.rar"的压缩包提供了一个实现这一功能的源代码...
这个过程可以扩展到任何需要从HTML中提取数据的情况,比如获取图片、评论、日期等信息。在实际应用中,记得将数据存储在适当的数据结构中,如ArrayList或HashMap,以便进一步处理和分析。同时,根据项目需求,你还...
HttpClient是Apache基金会开发的一个Java...无论是简单的网页抓取还是复杂的Web服务交互,HttpClient都是一个值得信赖的工具。正确理解和使用HttpClient,能够提升你的Java网络编程能力,提高应用的网络性能和稳定性。
“java抓取图片”则强调了实现这一功能所采用的编程语言,即Java,这是一种广泛应用的、面向对象的编程语言,具有跨平台性和丰富的库支持,适合开发网络爬虫程序。 【详细知识点】: 1. **网络爬虫技术**:网络...
对于图片,我们使用`<img>`标签的`src`属性获取URL,然后使用Java的`HttpURLConnection`或第三方库如Apache HttpClient下载图片,保存到本地,并将`src`属性替换为本地路径。 对于CSS和JavaScript,情况类似。`...
通过上述方法,结合Jsoup和HttpClient,开发者可以构建出一个能够抓取动态网页内容的爬虫程序。这不仅适用于商品价格的抓取,也适用于其他需要抓取动态数据的场景。但需要注意的是,爬取数据时应遵守网站的robots....
这就涉及到Java的网络输入/输出流(InputStream/OutputStream),使用HttpURLConnection或HttpClient类来发送GET请求并保存响应的图片数据到本地。 6. **多线程**:为了提高爬虫效率,可以使用多线程同时下载多个...