如何在不使用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!
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短