package com.enation.newtest; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; public class TestUrl { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub //System.out.println(""); String url="http://www.qq.com/"; String encoding="gb2312"; //1.根据网络和页面的编码集 抓取网页的源代码 String htmlResouce=GetHtmlResouceByURL(url, encoding); System.out.println(htmlResouce); //2.解析网页的源代码 jsoup jar包 Document document = Jsoup.parse(htmlResouce); //ex:抓取图片例子 图片 标签<img src=" " alt=" " width=" " height=" "> Elements elements=document.getElementsByTag("img"); for(Element element : elements) { String imgSrc=element.attr("src"); //获取src属性的值 System.out.println(imgSrc); //下载到本地文件夹中 //downImgs(imgSrc, "D:\\nouse"); } } /** * 根据网址和页面的编码集 抓取网页 * @param url 网址 * @param encoding 网页的编码集 * @return 源代码 * * */ public static String GetHtmlResouceByURL(String url,String encoding){ // 建立容器存储网页源代码 StringBuffer buffer=new StringBuffer(); URL urlobj=null; URLConnection uc =null; InputStreamReader isr=null; BufferedReader input=null; try { //建立网络连接 urlobj =new URL(url); //打开网络连接 uc = urlobj.openConnection(); //建立网络输入流 isr=new InputStreamReader(uc.getInputStream(),encoding); //建立缓冲流读输入的数据 input=new BufferedReader(isr); //循环遍历数据 String line=null; while((line=input.readLine())!=null){ //添加换行 buffer.append(line+"\n"); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("连接源代码失败"); }finally{ try { if(isr!=null) isr.close(); if(input!=null) input.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println("关闭失败"); } } return buffer.toString(); } }