论坛首页 Java企业应用论坛

java抓网站html

浏览 8357 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (13) :: 隐藏帖 (1)
作者 正文
   发表时间:2011-11-09   最后修改:2011-11-09
今天无聊写啦个抓取html源代码的Demo,别小看他短短的几行代码,
只要写一个解析器类,解析其中的内容,你就可以得到你想要的内容啦。
不过这个解析器不能通用,只要url一变就没用啦。很多网络爬虫
就是建立在这个之上。之前我做啦一个用 Mssql+lucene+这种方式的抓内容。的搜索引擎。本来可以用网络爬虫的,
我没用,不过都一样的,都要写解析器。还不如自己写。
大家展开自己的想像吧,呵呵。
解析器代码我就不放啦,再说这个针对一个url就要写一个解析器。
import java.io.DataInputStream;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;

//用url获取网上的资源html文件  (html源代码)
public class GetHtmlByUrl {

	public void getHtmlbyurl()
	{
		try {
			URL url = new URL("http://www.iteye.com");
			DataInputStream di = new DataInputStream(url.openStream());
			byte [] bytes = new byte[1024];
			while (di.read(bytes, 0, 1024)!=-1) {
				System.out.println(new String(bytes,"utf-8"));
			}
			di.close();
			
		} catch (MalformedURLException e) {
			// 
			e.printStackTrace();
		} catch (IOException e) {
			// 
			e.printStackTrace();
		}
	}
	
	public static void gethtmlbyurlcon()
	{
		try {
			URL url = new URL("http://www.csdn.net");
			URLConnection urlcon = url.openConnection();
			DataInputStream di = new DataInputStream(url.openStream());
			byte [] bytes = new byte[1024];
			while (di.read(bytes, 0, 1024)!=-1) {
				System.out.println(new String(bytes,"utf-8"));
			}
			di.close();
		} catch (MalformedURLException e) {
			// 
			e.printStackTrace();
		} catch (IOException e) {
			// 
			e.printStackTrace();
		}
	}
	public static void main(String[] args) {
		GetHtmlByUrl.gethtmlbyurlcon();
	}
}
   发表时间:2011-11-09  
。。。。。。。。。。我不知道该说什么
0 请登录后投票
   发表时间:2011-11-09  
呵呵,朋友,想说什么呢。
0 请登录后投票
   发表时间:2011-11-10  
有点吐血的感觉
0 请登录后投票
   发表时间:2011-11-10  
ximenpiaohua 写道
有点吐血的感觉

呵呵。
真正抓网页,是分析网页中的有用数据,类似股票数据。
其大体的策略为,先抓取到整个网页数据(可以使用httpclient),然后补全不完整的tag(可以使用htmlcleaner),最后解析提取或将其转化为xml再提取。


0 请登录后投票
   发表时间:2011-11-10  
兄弟,这个。。。。。。。。
0 请登录后投票
   发表时间:2011-11-10  
Technoboy 写道
ximenpiaohua 写道
有点吐血的感觉

呵呵。
真正抓网页,是分析网页中的有用数据,类似股票数据。
其大体的策略为,先抓取到整个网页数据(可以使用httpclient),然后补全不完整的tag(可以使用htmlcleaner),最后解析提取或将其转化为xml再提取。




可以使用jsoup,这个类库还是很强大的
0 请登录后投票
   发表时间:2011-11-10   最后修改:2011-11-10
这都能上首页,太牛逼了!
0 请登录后投票
   发表时间:2011-11-10  
html 抽取
http://ansjsun.iteye.com/blog/1150903
是这个..还有...
楼主啊..这是典型的新手帖啊
0 请登录后投票
   发表时间:2011-11-10  
这也能上首页,我勒个去
0 请登录后投票
论坛首页 Java企业应用版

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