Java 根据关键字抓取google 新闻 网络数据 .*
用户要求统计所提供关键字在网络出现的新闻,下面为一个测试的main方法。
package com.net;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* @{#} NetTools.java Create on Nov 18, 2009 4:55:57 PM
*
* Copyright (c) 2009 by ThinkIT
* @author Jack He ,jackhexl@gmail.com
* @version 1.0
*/
public class NetTools {
private String url = "";// 请求的URL
private String keyword = "";// 搜索的关键字
private StringBuffer strBuffer = new StringBuffer("");
private List newsList=new ArrayList();//新闻数组
public static void main(String [] args){
List list=new ArrayList();
NetTools nt=new NetTools();
try {
list=nt.getNews("", new String[]{"环保局"});
for(int i=0;i<list.size();i++){
System.out.println(list.get(i).toString());
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public List getNews(String url,String[] keywords) throws IOException{
if(url.equals("")||null==url)
url="http://news.google.cn/news/search?cf=all&scoring=n&pz=1&cf=all&ned=ccn&hl=zh-CN&q=";
int i=0;
this.url=url;
//关键字
for(;i<keywords.length;i++){
this.keyword+=keywords[i]+" ";
}
this.url+=java.net.URLEncoder.encode(this.keyword,"UTF-8");// 带参数的请求地址
System.out.println("请求地址为:"+this.url);
URL requestUrl=new URL(this.url);
// 打开链接
HttpURLConnection con
相关文档:
Java NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......
一. 最常见的annotation
@Override:用在方法之上,用来告诉别人这一个方法是改写父类的
@Deprecated:建议别人不要使用旧的API的时候用的,编译的时候会用产生警告信息,可以设定在程序里的所有的元素上.
@SuppressWarnings:暂时把一些警告信息消息关闭
@Entity:表示该类是可持久化的类
二. 设计一个自己的Anno ......
线程的创建和启动
java语言已经内置了多线程支持,所有实现Runnable接口的类都可被启动一个新线程,新线程会执行该实例的run()方法,当run()方法执行完毕后,线程就结束了。一旦一个线程执行完毕,这个实例就不能再重新启动,只能重新生成一个新实例,再启动一个新线程。
......