- 浏览: 2876879 次
- 性别:
- 来自: 武汉
文章分类
- 全部博客 (1173)
- 名言警句 (5)
- 心情随笔 (50)
- 数据库 (57)
- Java基础 (241)
- J2EE框架 (91)
- 数据结构 (12)
- 程序设计 (21)
- WEB技术 (128)
- 网络日志 (12)
- IT资讯 (247)
- linux (64)
- solaris (2)
- 其它 (143)
- WebService (4)
- 日语学习 (2)
- 机器人 (5)
- Android (5)
- cgywin (3)
- Game (1)
- DWR (1)
- spring (8)
- canvas (1)
- Guava (3)
- Modbus (5)
- 测试 (6)
- mongodb (9)
- Quartz (2)
- Cron (1)
- windows (2)
- 持续集成 (1)
- bootstrap (3)
- 结对编程 (1)
- nodejs (1)
- Netty (1)
- 安全 (3)
- webstorm (2)
- sparkline (1)
- Job (1)
- git (3)
- Maven (3)
- knockout (5)
- jquery (1)
- bower (1)
- docker (1)
- confluence (4)
- wiki (1)
- GoogleMap (1)
- jekyll (10)
- ruby (2)
- npm (3)
- browserify (1)
- gulp (3)
- openwrt (1)
- discuz (3)
- 输入法 (1)
- JPA (1)
- eclipse (2)
- IntelliJ (1)
- css (1)
- 虚拟机 (1)
- 操作系统 (1)
- azkaban (2)
- scrum (1)
最新评论
-
pangxiea_:
你好, 想请问一下 Linux下 这么使用rxtxcomm 在 ...
使用Java进行串口通信 -
abababudei:
请教一下,这个您是怎么解决的:/dev/ttyS2enteri ...
Java应用程序的MODBUS通讯 -
xuniverse:
hannibal005 写道楼主,我问下 request.se ...
用javascript与java进行RSA加密与解密 -
atxkm:
找了一下午,终于找到了
gulp 拷贝文件时如何移除文件目录结构 -
kalogen:
gtczr 写道非常感谢,经过我自己的修改,已经完美实现。发出 ...
用javascript与java进行RSA加密与解密
通过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这个字符串,我们就可以通过正则表达式对它进行分析,提取出自己想要的具体的内容,为我所用,呵呵,这是多么美妙的一件事情啊!!
发表评论
-
30个你必须熟记的CSS选择器
2015-06-27 08:44 1774你学会了基本的id,class类选择器和descendant ... -
40 个超棒的免费 Bootstrap HTML5 网站模板
2015-04-11 16:12 2849Bootstrap 是快速开发Web应用程序的前端工具包。它 ... -
必须记住的 30 类 CSS 选择器
2014-12-30 08:56 1007大概大家读知道`id`,`class`以及`descenda ... -
如何防止google map 加载Roboto字体
2014-12-26 13:16 875思路是在window.onload中当检测到加载Roboto ... -
JavaScript Equality Table
2014-12-09 16:17 1878Tables displaying the issue: ... -
WebStorm快捷键收集
2014-11-25 10:40 30111、webstorm快捷键: IntelliJ-Idea ... -
webstorm 常用快捷键
2014-08-25 15:58 949常用快捷键 Ctrl+/ 或 Ctrl+Shift+/ ... -
how to change bower components folder
2014-08-25 09:26 7801. create the file bower.json ... -
程序员应该知道的 13 个设计技巧
2014-07-14 09:34 745开发你的美感 … 我最喜欢的站点是: a ... -
tomcat7中tomcat-users.xml配置
2014-04-26 15:48 713将以下代码加入tomcat-users.xml中,即可登录t ... -
tomcat-maven-plugin的使用
2014-03-04 10:52 887环境: Ubuntu 8.10, tomcat6, ma ... -
Jsp动态显示服务器时间
2013-12-31 13:16 1087<script language=" ... -
前端工程与性能优化(下):静态资源管理与模板框架
2013-09-25 08:57 992本系列文章从一个全新的视角来思考web性能优化与前端工程之间 ... -
前端工程与性能优化(上):静态资源版本更新与缓存
2013-09-20 09:35 978每个参与过开发企业级 ... -
Handy and Useful jQuery Snippets for Developers
2013-09-18 15:43 810jQuery is a cross browser Java ... -
11 个用来创建图形和图表的 JavaScript 工具包
2013-08-13 07:00 1356Aristochart DEMO || Download ... -
Jive 论坛 license破解
2013-08-03 13:27 13331. 找到文件 \admin\global.jspf 注释 ... -
2012年度最佳Web前端开发工具和框架
2013-01-10 10:52 17632012年,Web 开发领域继续在快速的发展,HTML5 ... -
为网页设计师准备的 10 个色彩方案生成器
2012-02-22 23:01 1191Pictaculous ColorExplo ... -
13个最常用的CSS和HTML快速开发工具
2012-02-21 08:18 12801)CleverCSS CleverCSS ...
相关推荐
Java 抓取网页内容三种方式 Java 抓取网页内容是指使用 Java 语言从互联网上抓取网页内容的过程。抓取网页内容是数据爬虫和网络爬虫的基础,它广泛应用于数据挖掘、信息检索、机器学习等领域。本文将介绍使用 Java...
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抓取网页内容源代码解析与扩展 在IT领域,网页抓取(或称网络爬虫)是一项关键技能,广泛应用于数据收集、市场分析、搜索引擎优化等多个方面。本篇文章将深入探讨一个Java编写的网页内容抓取代码,旨在帮助...
在网页抓取程序中,需要获取网页内容以存储到数据库中。在 web 服务中,需要获取网页内容以提供给用户。 五、获取网页内容的注意事项 在获取网页内容时,需要注意以下几点: * 需要检查 URL 是否正确,以免出现...
java简单的抓取网页内容的程序java简单的抓取网页内容的程序java简单的抓取网页内容的程序java简单的抓取网页内容的程序java简单的抓取网页内容的程序java简单的抓取网页内容的程序java简单的抓取网页内容的程序java...
在Java编程中,生成静态页面是一种常见的技术,它涉及到网页内容的抓取和存储。这个程序的主要目的是从指定的URL抓取网页内容,并将其保存为一个HTML文件,即静态页面。下面将详细讲解这个过程涉及的关键知识点。 1...
确保在尝试获取网页内容时加入适当的异常处理代码。 4. **异步与多线程**: 对于大量网页抓取,考虑使用异步或多线程以提高效率。Java的`CompletableFuture`或`ExecutorService`可以帮助实现这一点。 5. **尊重...
Java Web网站抓取其他网站内容是一项常见的技术需求,主要用于数据挖掘、信息聚合或者自动化测试等场景。本篇文章将深入探讨如何使用Java在Web环境中抓取其他网站的数据。 首先,我们需要了解的是网页抓取的基本...
在Java编程中,获取JSON网页数据是常见的任务,特别是在处理Web API或者进行数据抓取时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其简洁和高效而广泛被采用。本实例将深入讲解如何使用...
抓取原网页适用于静态内容,而处理JavaScript返回数据则针对动态交互的网站。在实际项目中,根据目标网页的特点和需求,灵活运用这些方法是关键。 在提供的`WebpageCaptureDemo`压缩包文件中,可能包含了实现以上...
Java网页抓取数据是互联网数据挖掘的一个重要领域,它允许开发者通过编程方式获取网页上的信息,从而实现自动化分析、监控或构建智能应用。在Java中,我们通常使用HTTP客户端库和HTML解析工具来实现这一目标。本文将...
### Java抓取网站数据知识点详解 #### 一、概述 在现代互联网开发中,抓取网站数据是一项重要的技能。无论是进行市场调研、竞品分析还是数据挖掘,掌握如何使用Java来抓取数据都是十分必要的。本篇文章将详细介绍...
在“java抓取网页数据”这个主题中,我们将深入探讨如何利用Java来抓取并处理互联网上的信息。 首先,我们要了解什么是网络爬虫。网络爬虫(Web Crawler)是自动遍历互联网的程序,通过抓取网页内容并存储在本地,...
java抓取网页java工具类java抓取网页java工具类
Java爬虫技术是一种用于自动化获取网页内容的程序,它能够模拟人类浏览器的行为,遍历互联网上的页面,提取所需的信息。在本场景中,我们将重点讨论如何利用Java编写爬虫来抓取网页内容并下载其中的图片。 首先,...
在这个Java实现网页抓取的项目中,我们将探讨如何利用Java编程语言来抓取网页内容。下面将详细介绍这个过程涉及的关键知识点。 1. **网络基础知识**:首先,理解HTTP协议是必要的,它是互联网上应用最广泛的一种...
3. 执行抓取任务:依据配置文件中的规则,发起HTTP请求获取网页内容。 4. 内容解析与处理:解析抓取到的HTML,根据预设规则提取目标内容并进行进一步的处理。 四、目前缺陷功能描述 尽管系统具有一定的实用性,但也...
【基于JAVA技术的网页内容智能抓取】是一个利用Java编程语言实现的网页内容抓取系统,它结合了XML解析、HTML解析以及多种开源组件来高效地获取和处理网络上的信息。核心技术和组件包括: 1. **XML解析**:DOM4J被...
关于Java抓取页面内容的知识点,首先,你需要理解HTTP协议,包括请求方法(GET、POST等)、请求头、状态码以及响应头等概念。其次,了解网络爬虫的基本原理,比如如何构造URL、如何模拟浏览器发送请求、如何解析HTML...
在Web开发和数据抓取领域,Java爬虫技术是实现网页自动化信息提取的重要手段。本文主要讲述如何利用Java编程语言中的Jsoup库和HttpClient工具包来获取和解析动态生成的数据,特别是那些通过JavaScript动态加载的数据...