`
sunxboy
  • 浏览: 2869486 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

JAVA 抓取网页内容

阅读更多

  通过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");

}
 

这种方法抓取一般的网页应该没有问题,但当有些网页中存在一些嵌套的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");

}
 

这样的话,抓取的时候程序就不会跳换其它页面去抓取其它的内容了,这就达到我们的目的了。

如果是我们是处于内部网的话,还需要专门给它加上代理, Java以特殊的系统属性为代理服务器提供支持,只要在上面的程序加上以下程序就可以了。

 

System.getProperties().setProperty( "http.proxyHost", proxyName );

System.getProperties().setProperty( "http.proxyPort", port );
 

这样的话就可以实现处于内部网中而向互联网抓取自己想要的东西了。

上面的程序抓取回来的全部内容都存放在sb这个字符串,我们就可以通过正则表达式对它进行分析,提取出自己想要的具体的内容,为我所用,呵呵,这是多么美妙的一件事情啊!!

 

分享到:
评论

相关推荐

    Java抓取网页内容三种方式

    Java 抓取网页内容三种方式 Java 抓取网页内容是指使用 Java 语言从互联网上抓取网页内容的过程。抓取网页内容是数据爬虫和网络爬虫的基础,它广泛应用于数据挖掘、信息检索、机器学习等领域。本文将介绍使用 Java...

    java抓取网页内容源代码

    ### Java抓取网页内容源代码解析与扩展 在IT领域,网页抓取(或称网络爬虫)是一项关键技能,广泛应用于数据收集、市场分析、搜索引擎优化等多个方面。本篇文章将深入探讨一个Java编写的网页内容抓取代码,旨在帮助...

    Java抓取https网页数据

    Java抓取https网页数据,解决peer not authenticated异常。导入eclipse就能运行,带有所用的jar包(commons-httpclient-3.1.jar,commons-logging.jar,httpclient-4.2.5.jar,httpcore-4.2.4.jar)

    JAVA通过url获取网页内容

    在网页抓取程序中,需要获取网页内容以存储到数据库中。在 web 服务中,需要获取网页内容以提供给用户。 五、获取网页内容的注意事项 在获取网页内容时,需要注意以下几点: * 需要检查 URL 是否正确,以免出现...

    java简单的抓取网页内容的程序

    java简单的抓取网页内容的程序java简单的抓取网页内容的程序java简单的抓取网页内容的程序java简单的抓取网页内容的程序java简单的抓取网页内容的程序java简单的抓取网页内容的程序java简单的抓取网页内容的程序java...

    java抓取网页内容--生成静态页面

    在Java编程中,生成静态页面是一种常见的技术,它涉及到网页内容的抓取和存储。这个程序的主要目的是从指定的URL抓取网页内容,并将其保存为一个HTML文件,即静态页面。下面将详细讲解这个过程涉及的关键知识点。 1...

    java简单抓取网页内容

    确保在尝试获取网页内容时加入适当的异常处理代码。 4. **异步与多线程**: 对于大量网页抓取,考虑使用异步或多线程以提高效率。Java的`CompletableFuture`或`ExecutorService`可以帮助实现这一点。 5. **尊重...

    java web网站常用抓取其他网站内容

    Java Web网站抓取其他网站内容是一项常见的技术需求,主要用于数据挖掘、信息聚合或者自动化测试等场景。本篇文章将深入探讨如何使用Java在Web环境中抓取其他网站的数据。 首先,我们需要了解的是网页抓取的基本...

    java 获取json网页数据

    在Java编程中,获取JSON网页数据是常见的任务,特别是在处理Web API或者进行数据抓取时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其简洁和高效而广泛被采用。本实例将深入讲解如何使用...

    Java抓取网页数据Demo

    抓取原网页适用于静态内容,而处理JavaScript返回数据则针对动态交互的网站。在实际项目中,根据目标网页的特点和需求,灵活运用这些方法是关键。 在提供的`WebpageCaptureDemo`压缩包文件中,可能包含了实现以上...

    java网页抓取数据

    Java网页抓取数据是互联网数据挖掘的一个重要领域,它允许开发者通过编程方式获取网页上的信息,从而实现自动化分析、监控或构建智能应用。在Java中,我们通常使用HTTP客户端库和HTML解析工具来实现这一目标。本文将...

    java抓取网站数据

    ### Java抓取网站数据知识点详解 #### 一、概述 在现代互联网开发中,抓取网站数据是一项重要的技能。无论是进行市场调研、竞品分析还是数据挖掘,掌握如何使用Java来抓取数据都是十分必要的。本篇文章将详细介绍...

    java抓取网页数据

    在“java抓取网页数据”这个主题中,我们将深入探讨如何利用Java来抓取并处理互联网上的信息。 首先,我们要了解什么是网络爬虫。网络爬虫(Web Crawler)是自动遍历互联网的程序,通过抓取网页内容并存储在本地,...

    java抓取网页-java工具类

    java抓取网页java工具类java抓取网页java工具类

    java爬虫抓取网页内容,下载网站图片

    Java爬虫技术是一种用于自动化获取网页内容的程序,它能够模拟人类浏览器的行为,遍历互联网上的页面,提取所需的信息。在本场景中,我们将重点讨论如何利用Java编写爬虫来抓取网页内容并下载其中的图片。 首先,...

    Java实现网页抓取

    在这个Java实现网页抓取的项目中,我们将探讨如何利用Java编程语言来抓取网页内容。下面将详细介绍这个过程涉及的关键知识点。 1. **网络基础知识**:首先,理解HTTP协议是必要的,它是互联网上应用最广泛的一种...

    基于JAVA技术的网页内容智能抓取.doc

    3. 执行抓取任务:依据配置文件中的规则,发起HTTP请求获取网页内容。 4. 内容解析与处理:解析抓取到的HTML,根据预设规则提取目标内容并进行进一步的处理。 四、目前缺陷功能描述 尽管系统具有一定的实用性,但也...

    基于JAVA技术的网页内容智能抓取

    【基于JAVA技术的网页内容智能抓取】是一个利用Java编程语言实现的网页内容抓取系统,它结合了XML解析、HTML解析以及多种开源组件来高效地获取和处理网络上的信息。核心技术和组件包括: 1. **XML解析**:DOM4J被...

    java抓取与采集页面内容 喜欢的拿去研究下

    关于Java抓取页面内容的知识点,首先,你需要理解HTTP协议,包括请求方法(GET、POST等)、请求头、状态码以及响应头等概念。其次,了解网络爬虫的基本原理,比如如何构造URL、如何模拟浏览器发送请求、如何解析HTML...

    java http方式抓取网页信息 JAVAIO

    以下是一个基本示例,展示如何通过GET方法抓取网页内容: ```java import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class ...

Global site tag (gtag.js) - Google Analytics