如何在不使用Java的任何外部库的情况下读取网页的内容?
java.net包的URL类表示一个统一资源定位符,用于在万维网上指向资源(文件,目录或引用)。
的OpenStream()此类的方法打开到URL的连接表示由当前对象,并返回使用它可以读取来自URL数据的InputStream对象。
因此,要从网页读取数据(使用URL类)-
通过将所需网页的URL作为参数传递给其构造函数来实例化java.net.URL类。
调用该openStream()方法并检索InputStream对象。
通过传递上面获取的InputStream对象作为参数来实例化Scanner类。
示例
import java.io.IOException;
import java.net.URL;
import java.util.Scanner;
public class ReadingWebPage {
public static void main(String args[]) throws IOException {
//实例化URL类
URL url = new URL("http://www.something.com/");
//检索指定页面的内容
Scanner sc = new Scanner(url.openStream());
//实例化StringBuffer类以保存结果
StringBuffer sb = new StringBuffer();
while(sc.hasNext()) {
sb.append(sc.next());
//System.out.println(sc.next());
}
//从字符串缓冲区对象中检索字符串
String result = sb.toString();
System.out.println(result);
//删除HTML标签
result = result.replaceAll("<[^>]*>", "");
System.out.println("Contents of the web page: "+result);
}
}输出结果
<html><body><h1>Itworks!</h1></body></html> Contents of the web page: Itworks!
热门推荐
6 祝福语简短七夕
10 阳历新年祝福语大全 简短
11 新房开工文案祝福语简短
12 老婆生日祝福语简短孩子
13 圣诞简短祝福语给父母
14 恭喜新郎父母简短祝福语
15 今年节日祝福语简短
16 预祝高尔夫的祝福语简短
17 盛夏的温馨祝福语简短
18 姨父生日祝福语简短精辟