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();
}
}