关闭

Watij,配合JRuby截取网易公开课下载列表

标签: jruby网易html测试工具浏览器firefox
2764人阅读 评论(0) 收藏 举报

  网易公开课例有许多翻译的公开课内容,可是我家里使用有线通,看在线总是卡卡的,于是就想着将公开课下载到本地。网易提供了下载,不过一个课程20多集课,一个一个手动,太麻烦,就想使用jruby是不是可以将某节课批量将下载地址截取下面。

     原本以为使用open_uri加上hpricot解析html就可以批量获取url,不过一分析下载页面,发现html的下载地址是通过js动态写入的,无法通过解析html获得,通过搜索找到了JRuby下的一款浏览器自动化测试工具Watij。

     Watij的作用

     Watij作用和Ruby下大名鼎鼎的工具Watir一样,使用Java开发,包含一套JRuby的接口,非常好用。支持模拟IE、Firefox,通过它可以自动使用浏览器做很多事,获取下载地址简直是小事一桩。

     Watij官网地址:http://watij.com/webspec-api/  包含基本的使用接口和方法

 

     下载公开课的相关代码(代码属于“即用即抛”脚本,仅供参考):

      1.获取公开课的下载地址列表:

classurl="http://download.v.163.com/dl/open/00DL0QDR0QDS0QeB.html"WebSpec.debug falseWebSpec.silent_mode truespec = WebSpec.new.iespec.open classurlspec.pause(1000)File.open("link.html","w") do |f|tag=spec.jquery("#download ul li:first-child a")0.upto(tag.all.length-1) do |i|f.puts(tag.at(i).get("href"))endendputs "finished"spec.closeAll()

 

    2.获取每堂课的介绍文字

classurl="http://download.v.163.com/dl/open/00DL0QDR0QDS0QeB.html"WebSpec.debug falseWebSpec.silent_mode truespec = WebSpec.new.iespec.open classurlspec.pause(1000)File.open("health_library.txt","w") do |f|classnametag=spec.jquery("#h1title")classname=classnametag.innerTextif classname=~/《(.+?)》/classname=$1endf.puts ("Course Name: "+classname)tag=spec.jquery("#download .k1")0.upto(tag.all.length-1) do |i|f.puts(tag.at(i).innerText)endendputs "finished"spec.closeAll()
0
0
查看评论

网易公开课专辑下载脚本python

上个星期由于老师让帮忙下载网易公开课的一个专辑,当时随便把以前这
  • cherishsir
  • cherishsir
  • 2014-06-28 00:50
  • 986

网易公开课字幕提取

在学习TED时,把文章的单词一个一个敲出来是非常麻烦的,往往希望可以将英文字幕提取出来,这里提供一个方法: 1、下载一个软件:网易公开课视频字幕获取助手 v1.0绿色版,可以直接百度这个软件的名字,会搜出来好多,找个喜欢的下下来就好 2、安装完成后,打开软件 3、结果如下:、 4、我想要的是英文字幕...
  • crysfeng
  • crysfeng
  • 2016-02-29 17:12
  • 2032

下载网易公开课 视频 代码

如下代码可以解析 网易公开课算法导论的视频下载连接,主要是因为最近电脑客户端不能下载的问题。 遗留问题:有广告时会解析失败,失败概率 极低 但未研究了。 有空了再看下。 import java.io.BufferedInputStream; import java.io.BufferedOutput...
  • scugxl
  • scugxl
  • 2014-12-23 00:48
  • 2189

网易公开课《Linux内核分析》学习心得-Linux内核学习总结

杨怡泽 原创作品转载请注明出处《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000博客作业目录列表·第一周-通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的 ·第二周-mykernel实验...
  • galaxy_21
  • galaxy_21
  • 2016-04-24 17:02
  • 1216

网易公开课与网易云课堂的区别

这周一个任务就是了解下网易云课堂的用法,看看我们能够利用这个平台来进行我们的教学改革。通过了解,发现网易不仅有网易云课堂,还有一个更加早的平台:网易公开课。那么,到底这俩平台有什么区别?结合一些网站的分析,可以给出如下的几点: 1)从课程学习方式来看:网易公开课是单向,即用户浏览上传的各类视频;而...
  • angeltom
  • angeltom
  • 2015-11-01 17:25
  • 4431

网易公开课 计算机专业课程

JAVA 程序设计 C 语言程序设计 python 程序设计 计算机专业导论 高等数学 概率与数理统计 C++程序设计 数据结构 C#程序设计 计算机组成原理 算法设计与分析 离散数学基础 软件工程 编译原理 操作系统 计算机网络 数据库系统原理 线性代数 ...
  • Crosoe
  • Crosoe
  • 2016-02-27 16:51
  • 474

网易公开课学习-认识前端,从一个弹窗案例说起

你看的到的都是前端工程师开发的。
  • hxqneuq2012
  • hxqneuq2012
  • 2016-06-28 20:10
  • 218

永久免费!吴恩达刚公布的深度学习课程上线网易云课堂

原来中标的是网易云课堂! 6 月 23 日,吴恩达宣布离开百度三个月后的创业项目:Deeplearning.ai,8 月 8 日,吴恩达的最新课程“Deep Learning Specialization” 正式在 Coursera 上线,当时AI科技大本营已经对课程内容做过详细解读。(详情内...
  • itchosen
  • itchosen
  • 2017-08-30 09:58
  • 2107

斯坦福机器学习: 网易公开课系列笔记(一)——课程简介

斯坦福机器学习: 网易公开课系列笔记(一)——课程简介      最近学习了一下网易公开课上由Andrew Ng于08年在斯坦福大学开办的机器学习课程,受益颇深。作为一个刚入门的学习者,可以说吴恩达讲的通俗易懂,之前我是一直在看《统计学习方...
  • qsczse943062710
  • qsczse943062710
  • 2017-02-17 09:59
  • 1092

网易公开课《计算机科学导论》简评

哈佛上课的感觉就是高大上。男老师不去脱口秀实在是屈才了,能够以那么快的语速毫不打绊的讲课,显然是经过精心准备的。首先上来就是讲授一种计算机的思维方式—折半查找。然后讲了一下这门课的内容。令人惊讶的是竟然有大约50个的以前上过门课的人来充当辅导老师的角色,帮助大家完成任务。这十分罕见。一般一门300人...
  • thefutureisour
  • thefutureisour
  • 2014-03-28 21:33
  • 3603
    个人资料
    • 访问:6368110次
    • 积分:61294
    • 等级:
    • 排名:第53名
    • 原创:333篇
    • 转载:1720篇
    • 译文:19篇
    • 评论:178条
    博客专栏
    网上乐园
    最新评论