`
thanq
  • 浏览: 13353 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

抓取网易公开课地址的批处理

 
阅读更多

 

 

 需求:最近在看网易的公开课 , 写个工具 , 用迅雷批量下载后批量重命名

步骤: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
1
1
分享到:
评论
4 楼 www2t 2013-02-28  
我自己用python写了一个,基本可以满足需要
http://hi.baidu.com/www2t/item/e5360287d430f556e63d19d7
3 楼 巴巴米 2012-03-27  
thanq 写道
巴巴米 写道
现在好像不行了
http://download.v.163.com/dl/open/00DL0QDR0QDS0QHR.html
我下这个的时候空指针异常了。。等有空了我也研究下

这个例子是针对公开课 <全球人口增长问题> 写的 , 用固定长的数组存放url, 下其他课程会有问题 , 我已经改了

这样啊,我没太注意看。。我去verycd下的。。
2 楼 thanq 2012-03-24  
巴巴米 写道
现在好像不行了
http://download.v.163.com/dl/open/00DL0QDR0QDS0QHR.html
我下这个的时候空指针异常了。。等有空了我也研究下

这个例子是针对公开课 <全球人口增长问题> 写的 , 用固定长的数组存放url, 下其他课程会有问题 , 我已经改了
1 楼 巴巴米 2012-03-24  
现在好像不行了
http://download.v.163.com/dl/open/00DL0QDR0QDS0QHR.html
我下这个的时候空指针异常了。。等有空了我也研究下

相关推荐

    抓取网易公开课 并下载

    自动抓取网易公开课的下载链接,并改名下载保存到本地目录 Download links automatically crawl Netease open class, and renamed the download is saved to a local directory

    网易公开课视频下载工具

    【网易公开课视频下载工具】是一款专门针对网易公开课平台设计的实用工具,旨在帮助用户便捷地下载平台上的视频课程,便于离线观看或保存学习资料。该工具操作简单,用户只需执行压缩包内的`release`目录下的可执行...

    crawler4j爬虫框架爬取网易公开课

    总之,利用crawler4j爬虫框架爬取网易公开课,不仅涉及到网页抓取的基本原理和技术,还涵盖了多线程编程、网页解析、数据存储等多个方面,对于提升Java开发者在网络爬虫领域的技能大有裨益。同时,通过实践这样的...

    易语言QQ旋风下载网易公开课

    这通常是网页抓取或网络爬虫的第一步,通过解析返回的HTML或JSON等格式的数据,提取出所需的信息,例如网易公开课的视频链接。 接下来,“分析提交信息”是指对网页上的表单提交或者链接点击事件进行模拟。在下载...

    易语言源码易语言QQ旋风下载网易公开课源码.rar

    下载网易公开课的源码可能涉及到网页抓取、HTML解析、网络请求以及视频文件的处理。在实现这个功能时,开发者可能使用了HTTP/HTTPS协议来获取网页内容,通过解析HTML找到视频的真实下载链接,然后设置下载任务,保存...

    java实现在线抓取网易云用户信息

    java实现在线抓取网易云用户信息,支持在线抓取网易云用户信息,用户头像,昵称,电话等等;抓取网易云音乐热门歌手及其歌曲、专辑等信息保存到数据库;使用HttpClient和Jsoup进行模拟请求并对网页进行解析;使用...

    分享一个自动定时FTP抓取生成一周日备份的批处理

    【标题】中的“自动定时FTP抓取生成一周日备份的批处理”是一个关于服务器管理和数据安全的话题,主要涉及以下几个核心知识点: 1. **自动备份**:自动备份是系统或服务的一项重要功能,它能定期创建数据副本,以防...

    java 新浪网易搜狐新闻抓取源码

    总结,"java 新浪网易搜狐新闻抓取源码"项目展示了如何使用Java和HTMLParser库来实现新闻数据的抓取和处理。通过学习和实践这样的项目,开发者不仅可以掌握网页抓取的基本技能,还能深入理解HTTP协议、HTML解析以及...

    抓取网页上的Email地址

    网页上的Email地址抓取是一个常见的数据挖掘任务,尤其在营销和广告领域中有着广泛的应用。通过自动抓取网页上的Email地址,企业可以建立潜在客户列表,进行有针对性的邮件营销。以下是一些关于如何实现这一功能的...

    抓取网易云音乐的数据;_NetEaseMusicSpider.zip

    抓取网易云音乐的数据;_NetEaseMusicSpider

    批处理---

    批处理是一种在计算机科学中广泛使用的自动化技术,特别是在操作系统中,它允许用户预先编写一系列命令,然后一次性执行这些命令,而无需逐个手动输入。在Windows操作系统中,批处理脚本通常以`.bat`或`.cmd`为扩展...

    网页邮箱地址抓取工具

    电子邮件抓取工具的工作原理是通过搜索引擎、社交媒体平台或者特定网站进行网络爬虫操作,寻找并提取公开发布的电子邮箱地址。它们可以设置过滤规则,例如只抓取特定域名的邮箱,或者根据关键词来筛选目标邮件地址。...

    影刀RPA系列公开课3:网页自动化——数据抓取.rar

    影刀RPA系列公开课3的主题聚焦于网页自动化和数据抓取,这是一门针对自动流程化技术(Robotic Process Automation,简称RPA)的学习课程。RPA是一种先进的技术,它允许用户通过模拟人类在应用程序中的交互,实现业务...

    批处理生成器

    批处理生成器是一种工具,主要用于自动化执行一系列命令或任务,极大地简化了用户在Windows操作系统中的工作流程。通过自动生成批处理文件(.bat文件),用户可以避免手动编写复杂的命令行语句,从而减少出错的可能...

    批处理文件通过FTP自动获取文件

    批处理文件(BAT File)是Windows操作系统中的一种脚本文件,它允许用户组合一系列命令以自动化重复或复杂的任务。在本场景中,我们利用批处理文件通过FTP(File Transfer Protocol)自动获取远程服务器上的文件,这...

    百度地图抓取 抓取地址信息

    本项目聚焦于“百度地图抓取 抓取地址信息”,这涉及到使用特定的技术手段来从百度地图API中获取地理位置和相关地址数据。 首先,关键词“百度地图”表明我们将讨论的是百度公司提供的地图服务。百度地图是领先的...

    Scrapy 抓取 网易严选、小米有品产品数据.zip

    在这个项目中,"Scrapy 抓取 网易严选、小米有品产品数据.zip",开发者使用Scrapy来收集网易严选和小米有品两个电商平台上的产品数据。这通常涉及到网页解析、请求处理、数据提取等多个环节,下面我们将详细探讨这些...

    ping域名批处理

    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旋风下载网易公开课"的项目中,我们可以看到一个利用易语言编写的程序,该程序能够实现从网易公开课网站上抓取课程资源链接,并通过QQ旋风下载器进行下载。 首先,我们需要了解易语言的基本...

    python爬虫抓取网易云音乐《我们》全部评论.zip

    Python爬虫源码大放送:抓取数据,轻松搞定! 想轻松抓取网站数据,却苦于技术门槛太高?别担心,这些源码将助你轻松搞定数据抓取,让你成为网络世界的“数据侠盗”。 它们还具有超强的实用价值。无论你是想要分析...

Global site tag (gtag.js) - Google Analytics