【Nodejs】使用http.request批量下载MP3,发现网络文件大于1000K时下载文件为0K
这又一次让我对http.request产生质疑
//====================================================== // 喜爱123四年级上英语MP3下载爬虫1.00 // 2018年5月10日 //====================================================== var http=require("http"); // http模块 var https=require("https"); // https模块 var zlib = require('zlib'); // 用于解析gzip网页 var fs=require('fs'); // 文件处理模块 var iconv = require('iconv-lite'); // 用于转码。 var cheerio = require("cheerio"); // 用于从HTML中以类似jquery方式查找目标//-------------------------------------- // 下载单个mp3 //-------------------------------------- function downloadMp3(url){console.log("mp3:"+url+"下载开始");// 得到hostname,path和portvar currUrl=url.replace("http://","");var pos=currUrl.indexOf("/");var hostname=currUrl.slice(0,pos); var path=currUrl.slice(pos);// 有端口加端口,没有端口默认80var port=80;if(hostname.indexOf(":")!=-1){var arr=hostname.split(":");hostname=arr[0];port=arr[1];}var name=url.slice(url.lastIndexOf("/"));// 初始化options options={hostname:hostname,port:port,path:path,method:'GET',/* headers:{'Referer':'https://www.nvshens.com',},*/ // 有需要再打开 };req=http.request(options,function(resp){var imgData = "";resp.setEncoding("binary"); resp.on('data',function(chunk){imgData+=chunk; });resp.on('end',function(){ // 创建文件var fileName="./"+name;fs.writeFile(fileName, imgData, "binary", function(err){if(err){console.log("[downloadPic]文件 "+fileName+" 下载失败.");console.log(err);}else{console.log("文件"+fileName+"下载成功");}}); });});// 超时处理req.setTimeout(7500,function(){req.abort();});// 出错处理req.on('error',function(err){if(err){console.log('[downloadMp3]文件 '+url+" 下载失败,"+'因为'+err);}});// 请求结束 req.end(); }//------------------------------- // 入口函数 //------------------------------- function main(){var profix='http://ting.xiai123.com/mp3/kewen/wysyy4s/Module0';var appendixs=['Unit1','Unit2','Words'];for(var i=1;i<10;i++){for(var j=0;j<appendixs.length;j++){var url=profix+i+'_'+appendixs[j]+".mp3";downloadMp3(url);}}//downloadMp3('http://ting.xiai123.com/mp3/kewen/wysyy4s/Module01_Unit2.mp3'); }// 开始 main();
2018年5月10日13点44分
【Nodejs】使用http.request批量下载MP3,发现网络文件大于1000K时下载文件为0K相关推荐
- POI下载表格数据,带有表格样式时下载文件为0
1 现象描述: 公司要求做数据下载,同时下载的时候要求excel格式和前端配置的报表要保持一致,因此开发了新功能,增加了单元格字体,背景色,计算公式,小数位数等相应的功能.新功能上线后,偶尔报错 Ex ...
- python selenium 下载文件_Python Selenium —— 文件上传、下载,其实很简单
很多selenium学习者被浏览器弹出的文件上传.下载框折磨的痛不欲生,今天博主就带你们轻松搞定上传和下载问题. 上传 上传弹框 文件上传是所有UI自动化测试都要面对的一个头疼问题,要处理这个问题,我 ...
- nodejs读取excel内容批量替换并生成新的html和新excel对照文件
因为广告投放需要做一批对外投放下载页面,由于没有专门负责填充页面的编辑同学做,只能前端来做了, 拿到excel看了一下,需要生成200多个文件,一下子懵逼了. 这要是来回复制粘贴太low了 正好最新用 ...
- Java--语言应用--批量修改MP3的文件名、标题
从网上下了些脱口秀mp3,准备回家的时候在路上听听. 下载之后发现文件名都是以"某某网整理"开头,导入到手机之后歌名长得连有用的信息都看不到了. 不想一个个改了,于是敲了几行jav ...
- 解决下载MP3等文件自动播放完美解决方法
这段时间在研究a href 下载MP3的时候,比如谷歌浏览器会自动播放,后来查资料得知需要在iis中修改mime类型为:.mp3对应的mime类型为Audio/mpeg,修改后发现可以下载,但是后来又 ...
- 批量修改mp3文件的title等
批量修改mp3文件的title等 不是改文件名哦: 下载地址:https://mp3tag.en.softonic.com/ 帮助文档:file:///C:/Program%20Files%20(x8 ...
- kjb文件 解析_批量修改MP3文件信息
前两天本人在整理自己的歌单时(题外话,本人是一个热衷音乐的程序员噢,哈哈),发现之前下载的很多MP3文件里的歌手,标题等信息对不上,很多都是错的.对于患有"强迫症"的本人来说,当然 ...
- bilibili视频格式m4s批量转换为mp3,mp4
将bilibili视频格式进行批量进行转换代码 ####bilibili视频下载到手机,视频分为了video.m4s和audio.m4s. 下面代码就是将其批量转换为video.mp4,audio.m ...
- springboot文件上传和下载(批量/单个)
前言 用springboot + jpa,批量上传.下载,一般批量下载处理方式都是将多个文件压缩成一个压缩包,然后在下载,主要的坑在于本地上传和下载都正常,部署在服务器上会出现各种错误,比如找不到路径 ...
- python下载MP3到本地
下载MP3文件到本地 具体代码如下: import os import requests def DownloadFile(mp3_url, save_url,file_name):try:if mp ...
最新文章
- ehcache 简介
- IBM之alphablox 数据源定义问题解决
- FPGA之道(83)功能仿真之仿真语法(Graphic Waveform )
- 单节点部署Hadoop教程
- java 面向对象的特性 抽象_java面向对象的四个特性
- Python--网络编程-----传输层tcp/udp协议
- C语言SetConsoleCursorPosition()函数来定位光标位置
- phpcms根据二级栏目列表写的三级栏目列表
- Easy Recovery帮你解决数据丢失的苦恼
- 抖音直播间弹幕发言采集工具
- 禁止电脑屏幕旋转快捷键
- 揭露卖劣质U盘黑心商家的利器
- 网站被劫持,打开一个网站会跳到另一个怎么办,直接输入网址也是这样。怎么办呢?
- OGG同步字符集从US7ASCII to ZHS16GBK故障解决
- 百词斩和扇贝单词 背单词功能模块测试
- BC20 MQTT与GPS功能测试
- 2022年全球及中国公共关系(PR)工具行业头部企业市场占有率及排名调研报告
- MongoBD 系列(1) —— 初识 MongoDB
- 2021年东城区文菁计划资金补助政策及申报条件,部分项目补贴100万
- s-tui:在 Linux 中监控 CPU 温度、频率、功率和使用率的终端工具
热门文章
- 域名备案后修改服务器,域名备案后修改服务器
- 程序员电脑(减少辐射)(¥37)
- mysql relay log.info_技术分享 | slave_relay_log_info 表认知的一些展开
- 奖学金评审系统java_奖学金评定系统 - WEB源码|源代码 - 源码中国
- 2017年2月22日-----------乱码新手自学.net 之Entity Framework 增删改
- 原创科幻短篇《Bug》
- 迅睿CMS插件自动采集伪原创免费插件
- 3D Vision--生成空间任意圆柱及任意直线
- android studio静态界面设计,2.3 使用Android Studio 简单设计UI界面
- 《富爸爸,穷爸爸》这本书有何价值?