下载网页的基本方法

一、Java.net.URL

 1 import java.io.BufferedReader;
 2 import java.io.InputStreamReader;
 3 import java.net.URL;
 4
 5 public class RetrivePage {
 6     public static String downloadPage(String path) throws Exception {
 7         URL pageURL = new URL(path);
 8         BufferedReader reader = new BufferedReader(new InputStreamReader(pageURL.openStream()));
 9         String line;
10         StringBuilder pageBuffer = new StringBuilder();
11         while ((line = reader.readLine()) != null) {
12             pageBuffer.append(line);
13         }
14         return pageBuffer.toString();
15     }
16
17     public static void main(String args[]) throws Exception {
18         System.out.println(RetrivePage.downloadPage("http://www.sina.com"));
19     }
20 }

二、Scanner对象

 1 import java.io.InputStreamReader;
 2 import java.net.URL;
 3 import java.util.Scanner;
 4
 5 public class RetrivePage {
 6     public static String downloadPage(String path) throws Exception {
 7         URL pageURL = new URL(path);
 8         Scanner scanner = new Scanner(new InputStreamReader(pageURL.openStream(), "utf-8"));
 9         scanner.useDelimiter("\\z");
10         StringBuilder pageBuffer = new StringBuilder();
11         while (scanner.hasNext()) {
12            pageBuffer.append(scanner.next());
13         }
14         return pageBuffer.toString();
15     }
16
17     public static void main(String args[]) throws Exception {
18         System.out.println(RetrivePage.downloadPage("http://www.sina.com"));
19     }
20 }

三、套接字

 1 import java.io.*;
 2 import java.net.Socket;
 3
 4 public class RetrivePage {
 5     public static void main(String args[]) throws Exception {
 6         String host = "blog.csdn.net";
 7         String file = "/column.html";
 8         int port = 80;
 9         Socket s = new Socket(host, port);
10         OutputStream out = s.getOutputStream();
11         PrintWriter outw = new PrintWriter(out, false);
12         outw.print("GET" + file + " HTTP/1.0\r\n");
13         outw.print("Accept:text/plain,text/html,text/*\r\n");
14         outw.print("\r\n");
15         outw.flush();
16         InputStream in = s.getInputStream();
17         InputStreamReader inr = new InputStreamReader(in);
18         BufferedReader bufferedReader = new BufferedReader(inr);
19         String line;
20         while ((line = bufferedReader.readLine()) != null) {
21             System.out.println(line);
22         }
23     }
24 }

四、HttpClient

 1 import org.apache.http.HttpEntity;
 2 import org.apache.http.HttpResponse;
 3 import org.apache.http.client.HttpClient;
 4 import org.apache.http.client.methods.HttpGet;
 5 import org.apache.http.impl.client.DefaultHttpClient;
 6 import org.apache.http.util.EntityUtils;
 7 public class RetrivePage {
 8     public static void main(String args[]) throws Exception {
 9         HttpClient httpClient=new DefaultHttpClient();
10         HttpGet httpGet=new HttpGet("http://www.sina.com");
11         HttpResponse response=httpClient.execute(httpGet);
12         HttpEntity entity=response.getEntity();
13         if(entity!=null){
14             System.out.println(EntityUtils.toString(entity,"utf-8"));
15             EntityUtils.consume(entity);
16         }
17         httpClient.getConnectionManager().shutdown();
18     }
19 }
时间: 2024-11-05 22:32:08

下载网页的基本方法的相关文章

Python下载网页的几种方法

get和post方式总结 get方式:以URL字串本身传递数据参数,在服务器端可以从'QUERY_STRING'这个变量中直接读取,效率较高,但缺乏安全性,也无法来处理复杂的数据(只能是字符串,比如在servlet/jsp中就无法处理发挥java的比如vector之类的功能). post方式:就传输方式讲参数会被打包在数据报中传输,从CONTENT_LENGTH这个环境变量中读取,便于传送较大一些的数据,同时因为不暴露数据在浏览器的地址栏中,安全性相对较高,但这样的处理效率会受到影响. get

c# 下载网页图片

也是比较老的东西了 最近用到 记录下以免以后忘了 要下载图片首先要有图片地址 要有图片地址就要先把网页下下来分析下URL 下载网页一般用两种方法 1,用 system.net.webclient using System.Net; using System.Windows.Forms; string url = "http://www.cnblogs.com"; string result = null; try { WebClient client = new WebClient()

如何用 LaunchBar 一键下载网页上的所有文件?

本文标签: Mac效率工具 Mac小工具 MacOS LaunchBar 一键下载网页文件 有时候我们会遇到这种问题,一个页面上挂了好多文档需要下载: 依次点开再按 ? S 或是逐个右击再选择下载都不像是聪明的方法.我们可以通过 Automator 来实现这样的情况下文件的批量下载. 用 Automator 制作下载文件的工作流 启动 Automator,选择新建服务,依次加入如下六个操作模块: 首先先读取当前 Safari 所在页面的网页,接着获取这个网页下的所有网址,对它们进行过滤,过滤内容

13.1.2 异步下载网页

在我们使用异步工作流来抓取网页内容之前,需要引用 FSharp.PowerPack.dll 库,它包含了许多 .NET 方法的异步版本.开发独立的应用程序时,可以使用添加引用命令:在这一章,我们将使用互动开发模式,因此,创建一个新的 F# 脚本文件,使用 #r 指令(清单  13.1). 清单13.1 使用异步工作流写代码 (F# Interactive) > #r "FSharp.PowerPack.dll";; > open System.IO open System.

JavaWeb学习之转发和重定向、会话技术:cookie、session、验证码实例、URLConnection使用(下载网页)(4)

1.转发和重定向 HttpServletResponse response 转发: RequestDispatcher dispatcher = request.getRequestDispatcher("/secondServlet"); request.setAttribute("pwd","123");//这里设置的值在secondServlet中可以获取到 dispatcher.forward(request, response);//调

C# 网络编程之webBrowser获取网页url和下载网页中图片

该文章主要是通过C#网络编程的webBrowser获取网页中的url并简单的尝试下载网页中的图片,主要是为以后网络开发的基础学习.其中主要的通过应用程序结合网页知识.正则表达式实现浏览.获取url.下载图片三个功能.而且很清晰的解析了每一步都是以前一步为基础实现的. 一.界面设计 界面设计如下图所示,添加控件如图,设置webBrowser1其Anchor属性为Top.Bottom.Left.Right,实现对话框缩放;设置groupBox1其Dock(定义要绑到容器控件的边框)为Buttom,实

如何下载视频?如何下载网页视频?

如何下载视频?如何下载网页视频? 如何下载视频?如何下载网页视频? 当我们在视频网站看到很好看的视频,总是想把它下载下来,回头再慢慢地欣赏.可是问题出现了!很多视频网站不能直接下载,必需借助下载工具,有时候觉得很麻烦!那么要如何下载视频?能不能不借助下载工具.客户端,不需要达到多少积分值之类的?对于这些问题,到时如何下载网页视频最简单呢?小编在本文分享一些方法给大家参考一下. 方法一: 1. 把你看的视频先缓冲完或者看完也可以. 2. 点击网页最上面一拦的" 工具",然后找到"

httpclient下载网页源码---java基础爬虫

有关httpclient: HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性,它不仅使客户端发送Http请求变得容易,而且也方便开发人员测试接口(基于Http协议的),提高了开发的效率,也方便提高代码的健壮性.因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会更加深入. org.apache.commons.httpclient.HttpClient与org.apache.http.client.H

使用wget下载网页API的常用命令

先介绍几个参数:-c 断点续传(备注:使用断点续传要求服务器支持断点续传),-r 递归下载(目录下的所有文件,包括子目录),-np 递归下载不搜索上层目录,-k 把绝对链接转为相对链接,这样下载之后的网页方便浏览.-L 递归时不进入其他主机,-p 下载网页所需要的所有文件. 比如:#wget -c -r -np -k -L -p http://hbase.apache.org/0.94/apidocs/index.html