使用httpClient保存网页至本地
来源:互联网 发布:sql简单语句 编辑:程序博客网 时间:2024/05/17 11:36
package com.gewb;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import org.apache.commons.httpclient.HttpClient;import org.apache.commons.httpclient.HttpStatus;import org.apache.commons.httpclient.methods.GetMethod;public class Spider {private static HttpClient httpClient = new HttpClient();/** * @param path * 目标网页的链接 * @return 返回布尔值,表示是否正常下载目标页面 * @throws Exception * 读取网页流或写入本地文件流的IO异常 */public static boolean downloadPage(String path) throws Exception {// 定义输入输出流 InputStream input = null; OutputStream output = null; // 得到 post 方法 GetMethod getMethod = new GetMethod(path); // 执行,返回状态码 int statusCode = httpClient.executeMethod(getMethod); // 针对状态码进行处理 // 简单起见,只处理返回值为 200 的状态码 if (statusCode == HttpStatus.SC_OK) { input = getMethod.getResponseBodyAsStream();// 通过对URL的得到文件名 String filename = path.substring(path.lastIndexOf('/') + 1) + ".html"; // 获得文件输出流 output = new FileOutputStream(filename); // 输出到文件 int len = 0; byte[] b = new byte[1024]; while ((len = input.read(b)) != -1) { output.write(b, 0, len); } // 关闭输入流 if (input != null) { input.close(); } // 关闭输出流 if (output != null) { output.close(); } System.out.println("成功"); return true; } System.out.println("失败");return false;}public static void main(String[] args) {try { // 抓取百度首页,输出 Spider.downloadPage("http://www.baidu.com"); } catch (Exception e) { e.printStackTrace(); }}}
0 0
- 使用httpClient保存网页至本地
- 使用HttpClient下载网页
- UWP保存网页到本地
- VC下载网页文件,并保存至本地磁盘
- Bitmap(图片)保存至本地和使用
- 使用HttpClient获得网页内容
- python 保存网页图片到本地
- PHP保存网页HMTL到本地电脑
- 网页本地登陆注册(永久保存)
- httpclient+asynctask下载图片并保存在本地
- 使用Java读取网络图片并保存至本地
- 使用httpclient下载需要登录的网页
- 使用HttpClient远程抓取网页内容
- 使用HttpClient远程抓取网页内容
- 使用HttpClient远程抓取网页内容
- 在IE浏览器将网页中的附件保存至本地时,文件名字变为乱码
- python爬虫由浅入深1-从网页中爬取文件并保存至本地
- 使用xampp访问本地网页
- pdf电子签章多章adobe福昕验证通过图片透明关键技术解析
- myBatis的事务管理
- Java大用处——String操作实例
- SDWebImage缓存图片的机制
- javaScript & jquery完美判断图片是否加载完毕
- 使用httpClient保存网页至本地
- 成员变量、类变量、局部变量的区别
- 在RHEL7上安装Oracle 12.1.0.2的服务器端或者客户端时报需要compat-libstdc++包
- 微信sdk
- 二叉树线索化、遍历的实现及其原理
- Docker入门一安装
- log4cpp之Layout布局
- ROS(10):mac 下树莓派Raspberry Pi 烧录 img
- Your Apple ID account is also attached to other iTunes providers. You will need to create a new user