博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
B站,N站,汤站,爬虫下载资源总结与技巧(二)
阅读量:6612 次
发布时间:2019-06-24

本文共 1449 字,大约阅读时间需要 4 分钟。

hot3.png

前言

  • 这篇是上篇的后续,主要是编写一个简单的http下载工具,使用的wget库,这周就简单写一写,下几周会重点说说,真实下载处理及查表优化。

注意

  • 对于网络下载,cdn下载等等,要主要请求头的一些配置,并处理好超时问题。
  • B站需要配置,"Referer", ""
  • N站,需要注意的是旧资源重复问题。
  • Tumblr站,暂时无遇到特别注意的地方。

代码

pom配置

com.github.axet
wget
1.4.9

通用下载工具

//下载文件    public static String downToLocal(String url,String fileBasePath, String fileName, String extName, JSONObject headers) throws Exception {        Logger logger = LoggerFactory.getLogger(DownloadFileTool.class);        String name = (fileName + "." + extName).toLowerCase();        String filePath = fileBasePath + name;        String downUrl = url;        File file = new File(filePath);        try {            URL downUrll = new URL(downUrl);            DownloadInfo info = new DownloadInfo(downUrll);            info.setUserAgent("Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36");            if (headers != null) {                info.setReferer(new URL(headers.get("Referer").toString()));            }            WGet get = new WGet(info, file);            get.download();            String newUrl = name;            //logger.info("downToLocal baseUrl:" + url  +  " newUrl:" + newUrl +  " fileName:" + name + " filePath:" + filePath);            return newUrl;        }        catch (Exception e){            file.delete();            throw e;        }    }

原文:

转载于:https://my.oschina.net/u/3729367/blog/1596359

你可能感兴趣的文章
POJ-2029 Get Many Persimmon Trees 树状数组
查看>>
MFC载入BMP图片
查看>>
Java8 新特性之Stream API
查看>>
Struts2 学习笔记(概述)
查看>>
【IE6.0 Bug总结之二】双倍边距(margin)的bug
查看>>
移动端各种事件详解
查看>>
解决webview上移
查看>>
使用CSS将图片转换成黑白(灰色、置灰)
查看>>
计算机系统
查看>>
flutter中的异步机制Future
查看>>
jsp中获取当前项目名称
查看>>
制作签名jar放置到前端资源目录下
查看>>
Mysql学习总结(30)——MySQL 索引详解大全
查看>>
HTML5知识点笔记
查看>>
.net 根据网址生成静态页
查看>>
20165105 第二周学习总结
查看>>
svn快速教程
查看>>
(三)WebRTC手记之本地视频采集
查看>>
swift入门-day01-基本语法
查看>>
修改页面JS 360浏览器
查看>>