通过JAVA的API可以顺利的抓取网络上的大部分指定的网页内容。最简单的一种抓取方法就是:
- URL url = new URL(myurl);
-
-
BufferedReader br = new BufferedReader(newInputStreamReader(url.openStream()));
-
-
String s = "";
-
-
StringBuffer sb = new StringBuffer("");
-
-
while ((s = br.readLine()) != null) {
-
- i++;
-
-
sb.append(s+"\r\n");
-
- }
URL url = new URL(myurl);
BufferedReader br = new BufferedReader(newInputStreamReader(url.openStream()));
String s = "";
StringBuffer sb = new StringBuffer("");
while ((s = br.readLine()) != null) {
i++;
sb.append(s+"\r\n");
}
这种方法抓取一般的网页应该没有问题,但当有些网页中存在一些嵌套的redirect连接时,它就会报Server redirected too many times这样的错误,这是因为此网页内部又有一些代码是转向其它网页的,循环过多导致程序出错。如果只想抓取本URL中的网页内容,而不愿意让它有其它的网页跳转,可以用以下的代码。
- URL urlmy = new URL(myurl);
-
- HttpURLConnection con = (HttpURLConnection) urlmy.openConnection();
-
-
con.setFollowRedirects(true);
-
-
con.setInstanceFollowRedirects(false);
-
- con.connect();
-
-
BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream(),"UTF-8"));
-
-
String s = "";
-
-
StringBuffer sb = new StringBuffer("");
-
-
while ((s = br.readLine()) != null) {
-
-
sb.append(s+"\r\n");
-
- }
URL urlmy = new URL(myurl);
HttpURLConnection con = (HttpURLConnection) urlmy.openConnection();
con.setFollowRedirects(true);
con.setInstanceFollowRedirects(false);
con.connect();
BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream(),"UTF-8"));
String s = "";
StringBuffer sb = new StringBuffer("");
while ((s = br.readLine()) != null) {
sb.append(s+"\r\n");
}
完整的示例代码 netpc.java :
package cn.com.bps.test;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class netpc {
public static void main(String[] args) {
//要获取的网页地址
String myurl = "http://localhost:8080/mydomain/index.jsp";
URL urlmy = null;
HttpURLConnection con =null;
try {
urlmy = new URL(myurl);
con = (HttpURLConnection) urlmy.openConnection();
// con.setFollowRedirects(true);
con.setInstanceFollowRedirects(false);
con.connect();
BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream(),"UTF-8"));
String len = "";
while ((len = br.readLine()) != null) {
//输出页面上取得的字符串做处理
System.out.println(len);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
分享到:
相关推荐
java抓取网页内容 ,简单实用,初学
使用java代码基于MyEclipse开发环境实现爬虫抓取网页中的表格数据,将抓取到的数据在控制台打印出来,需要后续处理的话可以在打印的地方对数据进行操作。包解压后导入MyEclipse就可以使用,在TestCrawTable中右键...
主要用于使用Java 处理Excel数据,其中包含了网页抓取数据,以及Java操作Word数据
2. 一个简单的例程demo,演示android系统如何获取网页,使用get方法获取网页内容然后给用户应用程序处理。 3. http demo for android,html获取的例程, 4. 安卓系统下,AS IDE get post的使用方法,这个演示程序...
基于Java的网络爬虫实现 1、能够通过10个以内的起始URL爬取1万个不重复的网页;...9、使用Java集合类处理工作列表; 10、Java语言的基本语法和基本控制流程正确使用,;使用正则表达式正确处理URL去重。
通过编写Java爬虫,我们可以从网页中提取有用的数据,如文本、图片、链接等,并将其存储或用于进一步的处理。Java爬虫的实现通常涉及以下几个关键步骤: 1. **发送请求**:使用Java的网络库向目标网页发送HTTP请求...
数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录 一个Java+ajax写...
java使用流获取网页源码泰贡 介绍 Tigon是一个开源、实时、低延迟、高吞吐量的流处理框架。 Tigon 是 Cask Data, Inc. 和 AT&T 之间的一项合作成果,它结合了这些公司的技术,创建了一个颠覆性的新框架来处理各种...
这是从我们公司的项目中抽取出来的一部分功能,也是我负责的前台部分。
在这个实战博客中,我们将创建一个简单的Java网络爬虫,来演示如何从网页上抓取信息。我们将使用Java的核心库以及一些第三方库来帮助我们实现这个爬虫。 以下是本实战博客的主要内容: 项目概述 设置开发环境 创建...
基于JAVA技术的网页内容智能抓取 基于JAVA技术的网页内容智能抓取 架构 完全基于java的技术 核心技术 XML解析,HTML解析,开源组件应用。应用的开源组件包括: DOM4J:解析XML文件 jericho-html-2.5:解析HTML...
数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录 一个Java+ajax写...
数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录 一个Java+ajax写...
12. Request的输出流可以避免流中内容直接缓冲到socket服务器。 13. Response的输入流可以有效的从socket服务器直接读取相应内容。 14. 在http1.0和http1.1中利用KeepAlive保持持久连接。 15. 直接获取服务器发送的...
DumpMethods.java 使用反射机制来获取类中的方法 getClassName.java 利用反射机制获取类的名字 invokeConstructor.java 利用反射机制调用构造器 invokeMethod.java 利用反射机制调用成员方法 listConstructors....
数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录 一个Java+ajax...
Java的网络爬虫是一种用于从互联网上获取信息的程序,通常用于抓取网页内容、收集数据或执行其他自动化任务。网络爬虫是搜索引擎、数据挖掘和信息收集等领域的重要工具。 Java的网络爬虫通常基于Java的网络编程库,...
数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录 一个Java+ajax...
数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录 一个Java+ajax...