实现一个java小爬虫
2017-02-14 21:58
162 查看
import java.net.URL; import java.net.HttpURLConnection; import java.io.IOException; import java.io.InputStream; import java.util.Scanner; /** * Description: * 解析http://www.ip138.com/,获取所需要的ip和地址。 * * @author Lee * */ public class ReptileDemo { /** * Description: * 连接上目标url,获取该网页的内容(html)。 * * @param Url 目标网页的URL * @return content 返回网页的内容,没有连接上网页则返回null * */ public static String getContentByURL(String Url){ String content = null; URL url = null; HttpURLConnection conn = null; try{ //使用目标网址,获取一个url实例 url = new URL(Url); //url返回一个http协议的url连接 conn = (HttpURLConnection)url.openConnection(); //设置连接超时 conn.setConnectTimeout(5000); //设置为HTTP方法为GET conn.setRequestMethod("GET"); //表明接受所有类型的文件 conn.setRequestProperty("Accept","*/*"); //连接资源 conn.connect(); //获取响应码 System.out.println(conn.getResponseCode()); try( //获取输出流 InputStream input = conn.getInputStream(); Scanner sc = new Scanner(input,"gb2312")){ while(sc.hasNext()){ content+=sc.nextLine()+"\n"; } //System.out.println(content); }catch(IOException e){ e.printStackTrace(); } }catch(IOException e){ e.printStackTrace(); }finally{ //断开连接 conn.disconnect(); } return content; } /** * Description: * 解析网页内容,获取需要的ip * * @param content 网页内容 * @return ip 返回内容中的ip,没有找到则返回null * */ public static String getIpByContent(String content){ String ip = null; int index; if((index=content.indexOf(":["))!=-1){ String subContent = content.substring(index+2); if((index=subContent.indexOf("]"))!=-1) ip = subContent.substring(0,index); } return ip; } /** * Description: * 解析网页内容,获取地址 * * @param contetn 网页内容 * @return pos 返回网页内容中的地址,没有找到则返回null * */ public static String getPosByContent(String content){ String pos = null; int index; if((index=content.indexOf("自:"))!=-1){ String subContent = content.substring(index+2); if((index=subContent.indexOf("</c"))!=-1) pos = subContent.substring(0,index); } return pos; } public static void main(String[] args) { // TODO Auto-generated method stub String content = getContentByURL("http://1212.ip138.com/ic.asp"); if(content!=null){ String ip=getIpByContent(content),pos=getPosByContent(content); if(ip!=null&&pos!=null) System.out.println(ip+" "+pos); else System.out.println("没有找到内容!"); }else{ System.out.println("连接不上网页!"); } } }
相关文章推荐
- [Java]使用HttpClient实现一个简单爬虫,抓取煎蛋妹子图
- 用JAVA实现一个爬虫,爬取知乎的上的内容
- java实现网页爬虫的一个小例子
- dySE:一个 Java 搜索引擎的实现,第 1 部分: 网络爬虫
- dySE:一个 Java 搜索引擎的实现,第 1 部分 网络爬虫
- 网络编程笔记二:一个java爬虫的实现(静态页面)
- java实现一个简单的网络爬虫代码示例
- 用java实现一个简单的网络爬虫
- cockroach 爬虫:又一个 java 爬虫实现
- Java实现一个简单的网络爬虫
- 搜索引擎----Java实现一个简单的网络爬虫
- dySE:一个 Java 搜索引擎的实现,第 1 部分: 网络爬虫
- dySE:一个 Java 搜索引擎的实现,第 1 部分: 网络爬虫
- 一个简单的用JAVA实现的屏幕抓图(源代码)
- 一个用Dijkstra算法实现的路由算法的java程序——7 GraphShowAdv类
- 一个用Dijkstra算法实现的路由算法的java程序——6 STDijkstraAdv类
- 推荐一个关于AOP的AOP@WORK的专栏作者的AOP专题系列文章,主要关于Java下的AOP实现,毕竟Java下的AOP实现确实要比.Net下成熟得多,共12篇
- 推荐一个关于AOP的AOP@WORK的专栏作者的AOP专题系列文章,主要关于Java下的AOP实现,毕竟Java下的AOP实现确实要比.Net下成熟得多,共12篇
- 在Java applet中如何实现一个模式对话框?
- JSP+JavaBean+Servlet实现一个留言板