`

JAVA 抓取网页中内容处理

 
阅读更多

通过JAVA的API可以顺利的抓取网络上的大部分指定的网页内容。最简单的一种抓取方法就是:

Java代码 复制代码 收藏代码
  1. URL url = new URL(myurl);   
  2.   
  3. BufferedReader br = new BufferedReader(newInputStreamReader(url.openStream()));   
  4.   
  5. String s = "";   
  6.   
  7. StringBuffer sb = new StringBuffer("");   
  8.   
  9. while ((s = br.readLine()) != null) {   
  10.   
  11. i++;   
  12.   
  13. sb.append(s+"\r\n");   
  14.   
  15. }  
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中的网页内容,而不愿意让它有其它的网页跳转,可以用以下的代码。

 

Java代码 复制代码 收藏代码
  1. URL urlmy = new URL(myurl);   
  2.   
  3. HttpURLConnection con = (HttpURLConnection) urlmy.openConnection();   
  4.   
  5. con.setFollowRedirects(true);   
  6.   
  7. con.setInstanceFollowRedirects(false);   
  8.   
  9. con.connect();   
  10.   
  11. BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream(),"UTF-8"));   
  12.   
  13. String s = "";   
  14.   
  15. StringBuffer sb = new StringBuffer("");   
  16.   
  17. while ((s = br.readLine()) != null) {   
  18.   
  19. sb.append(s+"\r\n");   
  20.   
  21. }  
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抓取网页内容 ,简单实用,初学

    用java实现爬虫抓取网页中的表格数据功能源码

    使用java代码基于MyEclipse开发环境实现爬虫抓取网页中的表格数据,将抓取到的数据在控制台打印出来,需要后续处理的话可以在打印的地方对数据进行操作。包解压后导入MyEclipse就可以使用,在TestCrawTable中右键...

    Java处理Excel,Word,网页数据抓取

    主要用于使用Java 处理Excel数据,其中包含了网页抓取数据,以及Java操作Word数据

    TestHttpGet获取html获取网页get方法get网页get html demo java html post.7z

    2. 一个简单的例程demo,演示android系统如何获取网页,使用get方法获取网页内容然后给用户应用程序处理。 3. http demo for android,html获取的例程, 4. 安卓系统下,AS IDE get post的使用方法,这个演示程序...

    常见网络爬虫的实现,基于Java版获取并收集不同网页信息

    基于Java的网络爬虫实现 1、能够通过10个以内的起始URL爬取1万个不重复的网页;...9、使用Java集合类处理工作列表; 10、Java语言的基本语法和基本控制流程正确使用,;使用正则表达式正确处理URL去重。

    Java爬虫:实现信息抓取的完整实例源码

    通过编写Java爬虫,我们可以从网页中提取有用的数据,如文本、图片、链接等,并将其存储或用于进一步的处理。Java爬虫的实现通常涉及以下几个关键步骤: 1. **发送请求**:使用Java的网络库向目标网页发送HTTP请求...

    java源码包---java 源码 大量 实例

     数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录  一个Java+ajax写...

    java使用流获取网页源码-tigon:高吞吐量实时流处理框架

    java使用流获取网页源码泰贡 介绍 Tigon是一个开源、实时、低延迟、高吞吐量的流处理框架。 Tigon 是 Cask Data, Inc. 和 AT&T 之间的一项合作成果,它结合了这些公司的技术,创建了一个颠覆性的新框架来处理各种...

    网页抓取 正则表达式 前台处理json对象

    这是从我们公司的项目中抽取出来的一部分功能,也是我负责的前台部分。

    使用Java创建一个网络爬虫

    在这个实战博客中,我们将创建一个简单的Java网络爬虫,来演示如何从网页上抓取信息。我们将使用Java的核心库以及一些第三方库来帮助我们实现这个爬虫。 以下是本实战博客的主要内容: 项目概述 设置开发环境 创建...

    百度贴吧签到网站源码Java-playfish:playfish基于JAVA技术的网页内容智能抓取

    基于JAVA技术的网页内容智能抓取 基于JAVA技术的网页内容智能抓取 架构 完全基于java的技术 核心技术 XML解析,HTML解析,开源组件应用。应用的开源组件包括:  DOM4J:解析XML文件  jericho-html-2.5:解析HTML...

    JAVA上百实例源码以及开源项目源代码

     数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录  一个Java+ajax写...

    JAVA上百实例源码以及开源项目

     数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录  一个Java+ajax写...

    HttpClient以及获取页面内容应用

    12. Request的输出流可以避免流中内容直接缓冲到socket服务器。 13. Response的输入流可以有效的从socket服务器直接读取相应内容。 14. 在http1.0和http1.1中利用KeepAlive保持持久连接。 15. 直接获取服务器发送的...

    Java开发技术大全(500个源代码).

    DumpMethods.java 使用反射机制来获取类中的方法 getClassName.java 利用反射机制获取类的名字 invokeConstructor.java 利用反射机制调用构造器 invokeMethod.java 利用反射机制调用成员方法 listConstructors....

    java源码包2

     数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录  一个Java+ajax...

    Java网络蜘蛛(爬c)源码.zip

    Java的网络爬虫是一种用于从互联网上获取信息的程序,通常用于抓取网页内容、收集数据或执行其他自动化任务。网络爬虫是搜索引擎、数据挖掘和信息收集等领域的重要工具。 Java的网络爬虫通常基于Java的网络编程库,...

    java源码包4

     数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录  一个Java+ajax...

    java源码包3

     数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录  一个Java+ajax...

Global site tag (gtag.js) - Google Analytics