从目录服务器中获取文件

从服务器中获取所有的文件

package web;

import java.io.File;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import cn.edu.hfut.dmic.webcollector.net.HttpRequester;
import cn.edu.hfut.dmic.webcollector.net.HttpRequesterImpl;
import cn.edu.hfut.dmic.webcollector.net.HttpResponse;
import cn.edu.hfut.dmic.webcollector.util.FileUtils;

public class GrapDoc {
	 public static void main(String[] args) throws Exception {
		File input = new File("adc.html");
		String url = "http://xxx.xx.xx.80/res/";
		/*HttpRequester httpRequester = new HttpRequesterImpl();
		
		HttpResponse response = httpRequester.getResponse(url);
	
		Document doc = Jsoup.parse(new String(response.getContent(),"utf-8"),url);
		Document doc3 =Jsoup.connect(url).
				userAgent("Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36")
				.timeout(50000)
				.get();*/
		checkContent(url);
	}
	 private static void checkContent(String url) throws Exception {
		 HttpRequester httpRequester = new HttpRequesterImpl();
			
			HttpResponse response = httpRequester.getResponse(url);
			Document doc = Jsoup.parse(new String(response.getContent(),"utf-8"),url);
			Elements contents = doc.select("td a");
			for(Element e:contents) {
				String path = e.attr("href").substring(4);
				if (path.endsWith("/")) {
					File tmpFile = new File(path);
					if (!tmpFile.exists()) {
						tmpFile.mkdirs();
					}
					checkContent(e.attr("abs:href"));
				} else {
					System.out.println(e.attr("abs:href"));
					HttpRequester httpRequester2 = new HttpRequesterImpl();
					HttpResponse response2 = httpRequester2.getResponse(e.attr("abs:href"));
					byte[] content=response2.getContent();
		            try {
		                FileUtils.writeFileWithParent(e.attr("href").substring(4), content);
		            } catch (Exception ex) {
		                ex.printStackTrace();
		            }
				}
				
			}
	 }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值