需求:最近在看网易的公开课 , 写个工具 , 用迅雷批量下载后批量重命名
步骤:1 取到公开课视频的地址列表 2 按规则重命名
package net;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class OpenVideoBatch {
public static void main(String[] args) throws Throwable {
URL url = new URL("http://download.v.163.com/dl/open/00DL0QDR0QDS0QHR.html");
InputStream in = url.openStream();
BufferedReader br = new BufferedReader(new InputStreamReader(in,"gb2312"));
String str = getStringFromReader(br);
String urlReg = "(?<=a title='点击下载' href=')(.*?)(?=' onclick='.*?'>"+"\""+"\\+\"标准)";
String nameReg = "(?<=obj = \"<h3><span class='k1'>\"\\+\").*?(?=\")";
Pattern urlPattern = Pattern.compile(urlReg);
Pattern namePattern = Pattern.compile(nameReg);
Matcher urlMatcher = urlPattern.matcher(str);
Matcher nameMatcher = namePattern.matcher(str);
List<String> urlList = new ArrayList<String>();
List<String> nameList = new ArrayList<String>();
while(urlMatcher.find()&&nameMatcher.find()){
urlList.add(urlMatcher.group());
nameList.add(nameMatcher.group());
}
for (int j = 0; j < urlList.size(); j++) {
String fileName = nameList.get(j),urlName=urlList.get(j);
// System.out.println(nameList.get(j)+" : "+urlList.get(j));
System.out.println(urlName); // 生成下载地址列表
videoRename(urlName,fileName);//将文件移动到新目录
}
}
static String getStringFromReader(BufferedReader reader) throws IOException{
StringBuilder sb = new StringBuilder();
String str = reader.readLine();
while(str!=null){
sb.append(str).append("\n");
str = reader.readLine();
}
return sb.toString();
}
static void videoRename(String name , String newName) throws IOException{
name=name.substring(name.lastIndexOf("/")+1);
String path = "F:\\360Downloads\\New folder\\";
String newPath = path+"openVideo\\哈佛大学_幸福课\\";
File file = new File(path+name);
File file1 = new File(newPath);
if(!file1.exists()){
file1.mkdirs();
}
System.out.println(file.exists());
if(file.exists()){
boolean b = file.renameTo(new File(newPath+newName.replaceAll("\\?", "")+".mp4"));
System.out.println(b);
}
}
}
- 大小: 52.3 KB
- 大小: 80.5 KB
- 大小: 165.1 KB
分享到:
相关推荐
自动抓取网易公开课的下载链接,并改名下载保存到本地目录 Download links automatically crawl Netease open class, and renamed the download is saved to a local directory
【网易公开课视频下载工具】是一款专门针对网易公开课平台设计的实用工具,旨在帮助用户便捷地下载平台上的视频课程,便于离线观看或保存学习资料。该工具操作简单,用户只需执行压缩包内的`release`目录下的可执行...
总之,利用crawler4j爬虫框架爬取网易公开课,不仅涉及到网页抓取的基本原理和技术,还涵盖了多线程编程、网页解析、数据存储等多个方面,对于提升Java开发者在网络爬虫领域的技能大有裨益。同时,通过实践这样的...
这通常是网页抓取或网络爬虫的第一步,通过解析返回的HTML或JSON等格式的数据,提取出所需的信息,例如网易公开课的视频链接。 接下来,“分析提交信息”是指对网页上的表单提交或者链接点击事件进行模拟。在下载...
下载网易公开课的源码可能涉及到网页抓取、HTML解析、网络请求以及视频文件的处理。在实现这个功能时,开发者可能使用了HTTP/HTTPS协议来获取网页内容,通过解析HTML找到视频的真实下载链接,然后设置下载任务,保存...
java实现在线抓取网易云用户信息,支持在线抓取网易云用户信息,用户头像,昵称,电话等等;抓取网易云音乐热门歌手及其歌曲、专辑等信息保存到数据库;使用HttpClient和Jsoup进行模拟请求并对网页进行解析;使用...
【标题】中的“自动定时FTP抓取生成一周日备份的批处理”是一个关于服务器管理和数据安全的话题,主要涉及以下几个核心知识点: 1. **自动备份**:自动备份是系统或服务的一项重要功能,它能定期创建数据副本,以防...
总结,"java 新浪网易搜狐新闻抓取源码"项目展示了如何使用Java和HTMLParser库来实现新闻数据的抓取和处理。通过学习和实践这样的项目,开发者不仅可以掌握网页抓取的基本技能,还能深入理解HTTP协议、HTML解析以及...
网页上的Email地址抓取是一个常见的数据挖掘任务,尤其在营销和广告领域中有着广泛的应用。通过自动抓取网页上的Email地址,企业可以建立潜在客户列表,进行有针对性的邮件营销。以下是一些关于如何实现这一功能的...
抓取网易云音乐的数据;_NetEaseMusicSpider
批处理是一种在计算机科学中广泛使用的自动化技术,特别是在操作系统中,它允许用户预先编写一系列命令,然后一次性执行这些命令,而无需逐个手动输入。在Windows操作系统中,批处理脚本通常以`.bat`或`.cmd`为扩展...
电子邮件抓取工具的工作原理是通过搜索引擎、社交媒体平台或者特定网站进行网络爬虫操作,寻找并提取公开发布的电子邮箱地址。它们可以设置过滤规则,例如只抓取特定域名的邮箱,或者根据关键词来筛选目标邮件地址。...
影刀RPA系列公开课3的主题聚焦于网页自动化和数据抓取,这是一门针对自动流程化技术(Robotic Process Automation,简称RPA)的学习课程。RPA是一种先进的技术,它允许用户通过模拟人类在应用程序中的交互,实现业务...
批处理生成器是一种工具,主要用于自动化执行一系列命令或任务,极大地简化了用户在Windows操作系统中的工作流程。通过自动生成批处理文件(.bat文件),用户可以避免手动编写复杂的命令行语句,从而减少出错的可能...
批处理文件(BAT File)是Windows操作系统中的一种脚本文件,它允许用户组合一系列命令以自动化重复或复杂的任务。在本场景中,我们利用批处理文件通过FTP(File Transfer Protocol)自动获取远程服务器上的文件,这...
本项目聚焦于“百度地图抓取 抓取地址信息”,这涉及到使用特定的技术手段来从百度地图API中获取地理位置和相关地址数据。 首先,关键词“百度地图”表明我们将讨论的是百度公司提供的地图服务。百度地图是领先的...
在这个项目中,"Scrapy 抓取 网易严选、小米有品产品数据.zip",开发者使用Scrapy来收集网易严选和小米有品两个电商平台上的产品数据。这通常涉及到网页解析、请求处理、数据提取等多个环节,下面我们将详细探讨这些...
1、识别域名解析的ip地址,抓去自己服务器ip的域名(如ip:65.19.185.148) 2、成批ip放在ip.txt文件中 路径d:\ip\IP.txt 3、抓取的ip 放到pinRecord2.txt中 路径d:\ip\pinRecord2.txt 现在写相关的批处理=======...
在这个"易语言-易语言QQ旋风下载网易公开课"的项目中,我们可以看到一个利用易语言编写的程序,该程序能够实现从网易公开课网站上抓取课程资源链接,并通过QQ旋风下载器进行下载。 首先,我们需要了解易语言的基本...
Python爬虫源码大放送:抓取数据,轻松搞定! 想轻松抓取网站数据,却苦于技术门槛太高?别担心,这些源码将助你轻松搞定数据抓取,让你成为网络世界的“数据侠盗”。 它们还具有超强的实用价值。无论你是想要分析...