java简单网页抓取的实现方法
本文实例讲述了java简单网页抓取的实现方法。分享给大家供大家参考。具体分析如下:
背景介绍
一tcp简介
1tcp实现网络中点对点的传输
2传输是通过ports和sockets
ports提供了不同类型的传输(例如http的port是80)
1)sockets可以绑定在特定端口上,并且提供传输功能
2)一个port可以连接多个socket
二URL简介
URL是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。
互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
综上,我们要抓取网页的内容实质上就是通过url来抓取网页内容。
Java提供了两种方法:
一种是直接从URL读取网页
一种是通过URLConnection来读取网页
其中的URLConnection是以http为核心的类,提供了很多关于连接http的函数
本文将给出基于URLConnection的实例代码。
在此之前我们先来看下关于url的异常。不了解java异常机制的请参看上一篇博文。
构造URL的异常MalformedURLException产生条件:url的字符串为空或者是不能辨认的协议
建立URLConnection的异常IOException产生条件:openConnection失败,注意openConnection时代码还未连接远程,只是为连接远程做准备
综上所述,最终代码如下:
importjava.io.IOException;
importjava.io.InputStreamReader;
importjava.net.HttpURLConnection;
importjava.net.MalformedURLException;
importjava.net.URL;
importjava.net.URLConnection;
publicclassSimpleNetSpider{
publicstaticvoidmain(String[]args){
try{
URLu=newURL("http://docs.oracle.com/javase/tutorial/networking/urls/");
URLConnectionconnection=u.openConnection();
HttpURLConnectionhtCon=(HttpURLConnection)connection;
intcode=htCon.getResponseCode();
if(code==HttpURLConnection.HTTP_OK)
{
System.out.println("findthewebsite");
BufferedReaderin=newBufferedReader(newInputStreamReader(htCon.getInputStream()));
StringinputLine;
while((inputLine=in.readLine())!=null)
System.out.println(inputLine);
in.close();
}
else
{
System.out.println("Cannotaccessthewebsite");
}
}
catch(MalformedURLExceptione)
{
System.out.println("WrongURL");
}
catch(IOExceptione)
{
System.out.println("Cannotconnect");
}
}
}
希望本文所述对大家的Java程序设计有所帮助。
相关文章
- java数组的声明_Java数组定义常用方法[通俗易懂]
- java启动器_JAVA基础:Java 启动器如何查找类
- java uuid 随机数_Java随机数和UUID[通俗易懂]
- java setproperty 未生效_Java System类setProperty()方法及示例[通俗易懂]
- java中random方法取值范围_Java Random.nextInt()方法,随机产生某个范围内的整数
- java dom4j生成xml格式化_Java DOM4J方式生成XML的方法「建议收藏」
- java 随机数算法_Java随机数算法原理与实现方法实例详解
- java 文件上传到服务器_Java上传文件到服务器端的方法「建议收藏」
- Java多态理解_什么是java多态
- Java生成随机数组_java生成唯一数字
- vscode配置java环境变量_配置Java
- 解决Java程序连接MySQL的准确方案:Java连接MySQL的Jar包(java连接mysql的jar包)
- 解决Linux下重启Java程序的方法(linux重启java)
- Linux调用Java实现编程快速开发(linux调用java)
- 程序Oracle调用Java程序的实现方法(oracle调用java)
- Linux系统中下载Java的方法(linux下java下载)
- Java革命Oracle旗下的程序设计利器(java简介oracle)