package load;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.Reader;
import java.io.Writer;
import java.net.MalformedURLException;
import java.net.URL;
import org.dom4j.Node;
import org.dom4j.NodeFilter;
import org.dom4j.io.OutputFormat;
import org.junit.Test;
import org.w3c.dom.NodeList;
public class loadPage {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) {
loadPage l = new loadPage();
String charset = l.chaset(l.writread("utf-8"));
l.writread(charset);
}
// @Test
public void read() throws IOException{
URL url = new URL("http://saite.com/");
Reader reader = new InputStreamReader(new BufferedInputStream(url.openStream()));
// BufferedReader reader = new BufferedReader(new InputStreamReader(in) InputStreamReader(url,"utf8 "));
int c;
while ((c = reader.read()) != -1) {
String string = String.valueOf(c);
System.out.print(string);
}
reader.close();
}
//抓取页面
public String writread(String set){
URL url;
StringBuffer stringBuffer = new StringBuffer();
try {
url = new URL("http://www.baidu.com/");
Reader reader = new InputStreamReader(new BufferedInputStream(url.openStream()),set); //需要设置抓取网页的编码
int i;
Writer writer = new OutputStreamWriter(new FileOutputStream("D:\\test.html"), set);
new StringBuffer();
while ((i = reader.read()) != -1) {
writer.write((char)i);
stringBuffer.append((char)i);
writer.flush();
}
writer.close();
System.out.println("抓取成功!已存到指定目录");
System.out.println(stringBuffer);
} catch (Exception e) {
System.out.println("抓取失败!");
e.printStackTrace();
}
return stringBuffer.toString();
}
//截取出页面的编码格式
public String chaset(String string){
// String string = " content="+"text/html;charset = gb2312"+"><title>百度搜索_java怎么获得某远程页面的编码方式 </title>";
String bns = "";
String ens = "";
int bnc = 0;
int enc = 0;
for(int i = 0; i < string.length();i++){
bns = string.substring(i, i+7);
if(!"".equalsIgnoreCase(bns) && !bns.equalsIgnoreCase(null)){
if(bns.equalsIgnoreCase("charset")){
ens = string.substring(i,i+17);
bnc = ens.indexOf("=");
enc = ens.indexOf("\"");
ens = ens.substring(bnc+1,enc);
System.out.println("---"+ens.trim());
return ens;
}
}
}
return ens;
}
}
分享到:
相关推荐
关于Java抓取页面内容的知识点,首先,你需要理解HTTP协议,包括请求方法(GET、POST等)、请求头、状态码以及响应头等概念。其次,了解网络爬虫的基本原理,比如如何构造URL、如何模拟浏览器发送请求、如何解析HTML...
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抓取页面 需要验证码才能登陆的网站 抓取登陆后的页面 绝对可用,可以直接运行试下。。。
### Java抓取网站数据知识点详解 #### 一、概述 在现代互联网开发中,抓取网站数据是一项重要的技能。无论是进行市场调研、竞品分析还是数据挖掘,掌握如何使用Java来抓取数据都是十分必要的。本篇文章将详细介绍...
网页抓取,也称为网络爬虫或网页蜘蛛,是一种自动化程序,它按照一定的规则遍历互联网上的页面,提取所需的数据。这个过程涉及HTTP协议的理解,因为大部分网页都是通过HTTP或HTTPS协议传输的。 Java中的HTTP客户端...
在“java抓取网页数据”这个主题中,我们将深入探讨如何利用Java来抓取并处理互联网上的信息。 首先,我们要了解什么是网络爬虫。网络爬虫(Web Crawler)是自动遍历互联网的程序,通过抓取网页内容并存储在本地,...
这段代码会抓取页面上所有链接的`href`属性。 接下来,我们转向**抓取网页JS返回数据**。许多现代网页使用Ajax技术动态加载数据,这些数据通常不会出现在原始HTML中,而是通过JavaScript执行后生成。为了抓取这类...
### Java抓取任何指定网页的数据 #### 知识点概览 本文主要介绍如何使用Java技术来抓取任何指定网页的数据。重点在于介绍抓取网页数据的方法、解析数据的手段,以及具体实施过程中的关键步骤。 #### 抓取网页数据...
Java爬虫WebMagic是开发者常用来抓取网页数据的一个强大工具,尤其对于处理静态页面,它的易用性和灵活性使得在Java开发环境中非常受欢迎。WebMagic的设计理念是模块化,这使得我们可以灵活地组合各个组件来实现不同...
在Java编程中,生成静态页面是一种常见的技术,它涉及到网页内容的抓取和存储。这个程序的主要目的是从指定的URL抓取网页内容,并将其保存为一个HTML文件,即静态页面。下面将详细讲解这个过程涉及的关键知识点。 1...
Java网页抓取是一种技术,主要用于从互联网上自动提取或获取数据。这个"java网页抓取demo"项目提供了实现这一功能的实例代码。项目中的jar包是实现网页抓取的关键依赖库,包括Apache Commons Logging和HTTP Client。...
以下是对"java抓取网页数据实现"这一主题的详细说明。 首先,我们需要了解网页抓取的基本原理。网页抓取,也称为网络爬虫或网页刮取,是通过自动程序从互联网上收集信息的过程。这个过程通常包括发送HTTP请求到...
Java抓取网页的爬虫是一种自动化程序,用于从互联网上收集和处理大量数据。它模拟浏览器行为,通过HTTP协议向服务器发送请求,并接收返回的HTML或其他格式的网页内容。在这个过程中,开发者通常会使用到一系列Java库...
4. **快递查询**:如果要从快递公司网站抓取物流信息,需要熟悉快递公司的API接口或解析他们的查询结果页面。例如,可以使用Jianwen Express API,或者通过解析HTML来获取数据,注意处理动态加载和验证码问题。 5. ...
在这个项目中,程序首先定义要抓取的新闻页面URL,然后利用Java的HttpURLConnection或者HttpClient类发起GET请求。收到响应后,将HTML内容解析为DOM树,HTMLParser正是用于这个环节。 三、抓取策略 针对不同网站的...
windows系统上的http和https抓包工具, fiddler是http https监控... 如果要监控java程序,需要添加如下代码: System.setProperty("http.proxyHost", "127.0.0.1"); System.setProperty("http.proxyPort", "8888");
【Java新闻抓取】是一种利用编程技术从网络上自动收集并处理特定信息的过程,这里主要关注的是使用Java语言来实现对腾讯IT业界滚动新闻的抓取。在IT领域,新闻抓取是数据挖掘的重要组成部分,它能帮助我们获取实时、...
### Java抓取网页图片链接地址 #### 知识点概览 本文将详细介绍如何使用Java编程语言抓取网页上的图片链接。此技术广泛应用于网络爬虫、数据分析等领域,能够帮助开发者快速获取所需的图像资源。 #### 技术背景与...
在Java编程语言中,获取网页信息是常见的任务,特别是在网络爬虫、数据分析或者网页抓取等应用场景中。这里我们将详细探讨两种主要的方法:使用`java.net`包中的类和使用第三方库如`Jsoup`。 **一、使用`java.net....
以下将详细介绍Java网络爬虫的基本原理,响应式布局的概念,以及如何结合这两种技术来实现高效的数据抓取和灵活的展示方式。 首先,Java网络爬虫是一种自动化工具,用于从互联网上抓取大量信息。Java语言提供了丰富...