论坛首页 入门技术论坛

动态抓取网页,生成静态网页

浏览 9880 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (8) :: 隐藏帖 (8)
作者 正文
   发表时间:2011-01-17   最后修改:2011-01-19
package com.oop.test;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

public class Test1 {
	private static String getStaticPage(String surl) {
		String htmlContent = "";
		try {
			java.io.InputStream inputStream;
			java.net.URL url = new java.net.URL(surl);
			java.net.HttpURLConnection connection = (java.net.HttpURLConnection) url
					.openConnection();
			connection.connect();
			inputStream = connection.getInputStream();
			byte[] bytes = new byte[1024 * 2000];
			int index = 0;
			int count = inputStream.read(bytes, index, 1024 * 2000);
			while (count != -1) {
				index += count;
				count = inputStream.read(bytes, index, 1);
			}
			htmlContent = new String(bytes, "UTF-8");
			connection.disconnect();
		} catch (Exception ex) {
			ex.printStackTrace();
		}
		return htmlContent.trim();
	}

	public static void main(String[] args) {
		try {
			String src = getStaticPage("http://www.google.com");
			File file = new File("d:\\aa.html");
			FileWriter resultFile = new FileWriter(file);
			PrintWriter myFile = new PrintWriter(resultFile);// 写文件
			myFile.println(src);
			resultFile.close();
			myFile.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}


什么也不说,我感觉最重要的是分享,只要是有用的东西就应该分享,也许对于一些水平高的人是没有的,但是对于一些水平一般的人还是能够学到一些东西的。很多的人都提出了很多的反对意见和程序的问题意见,可是你们就不能把你们理解是正确的东西分享出来分享一下。
   发表时间:2011-01-17  
请问,这个有什么用啊???

从来没有这方面的需求~~~什么情况下会用到?
0 请登录后投票
   发表时间:2011-01-17  
zjhlht 写道
请问,这个有什么用啊???

从来没有这方面的需求~~~什么情况下会用到?



学习思想。·~~
0 请登录后投票
   发表时间:2011-01-17  
这帖子。。有点那啥。。
0 请登录后投票
   发表时间:2011-01-17  
最好能保存成 mht 才有用
0 请登录后投票
   发表时间:2011-01-17  
2008shucheng 写道
count = inputStream.read(bytes, index, 1);

为什么 第3个参数 是1。。。 不懂
0 请登录后投票
   发表时间:2011-01-17  
zjhlht 写道
请问,这个有什么用啊???

从来没有这方面的需求~~~什么情况下会用到?

有用到的,我们这里的网站需要每天将所有的内容抓取成静态内容的
0 请登录后投票
   发表时间:2011-01-17  
如果源网页不是UTF-8的,那你抓下来的中文不就乱码了么.不知道发到这里是何用意
0 请登录后投票
   发表时间:2011-01-17  
了解了如何使用HttpURLConnection。
0 请登录后投票
   发表时间:2011-01-17  
好像只能抓到html代码,别的如:图片等不能抓下来吧
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics