`
renzhen
  • 浏览: 251656 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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

阅读更多

     网易公开课例有许多翻译的公开课内容,可是我家里使用有线通,看在线总是卡卡的,于是就想着将公开课下载到本地。网易提供了下载,不过一个课程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 false
WebSpec.silent_mode true


spec = WebSpec.new.ie
spec.open classurl
spec.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"))
  end
end
puts "finished"
spec.closeAll()

 

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

classurl="http://download.v.163.com/dl/open/00DL0QDR0QDS0QeB.html"

WebSpec.debug false
WebSpec.silent_mode true

spec = WebSpec.new.ie
spec.open classurl
spec.pause(1000)
File.open("health_library.txt","w") do |f|
  classnametag=spec.jquery("#h1title")
  classname=classnametag.innerText
  if classname=~/《(.+?)》/
	classname=$1
  end
  f.puts ("Course Name: "+classname)
  tag=spec.jquery("#download .k1")
  0.upto(tag.all.length-1) do |i|
    f.puts(tag.at(i).innerText)
  end
end
puts "finished"
spec.closeAll()
 

    OK,写完了,

0
1
分享到:
评论

相关推荐

    jRuby On Rails WEB2.0

    《jRuby on Rails WEB2.0》:将Ruby on Rails融入Java平台的实践指南 《jRuby on Rails WEB2.0》是一部由Ola Bini撰写的书籍,深入探讨了如何将Ruby on Rails这一敏捷开源框架与Java平台相结合,以构建高效、灵活的...

    jruby1.7.8版本呢

    使用 JRuby 1.7.8 需要先下载解压提供的 `jruby-1.7.8` 压缩包,然后配置环境变量。以下是简单的步骤: 1. 将解压后的 JRuby 目录添加到系统 PATH 环境变量中。 2. 运行 `jruby -v` 命令检查安装是否成功,如果显示...

    如何安装与配置JRuby

    1. **解压 JRuby**: 将下载的 JRuby 压缩包解压到你选择的任意目录。 2. **配置环境变量**: 设置 `JRUBY_HOME` 环境变量,指向解压后的 JRuby 目录。例如,如果 JRuby 解压到 `C:\jruby-1.1.2`,则添加 `JRUBY_HOME=...

    jruby-complete-1.7.19.jar

    jruby-complete-1.7.19.jar,java版本的ruby解析器

    jruby-src-1.0

    标题“jruby-src-1.0”指的是JRuby的一个特定版本——1.0的源代码。JRuby是一种实现Ruby编程语言的Java版本,它允许在Java平台上运行Ruby代码,同时也支持与Java应用程序进行无缝集成。这个压缩包“jruby-src-1.0....

    org.jruby.rar

    标题 "org.jruby.rar" 暗示我们正在讨论一个与 JRuby 相关的压缩文件,其中可能包含了 JRuby 的源代码、库文件或者其他相关资源。JRuby 是一种 Java 实现的 Ruby 解释器,它允许 Ruby 代码在 JVM(Java 虚拟机)上...

    jruby-bin-1.3.1.zip

    JRuby是Java平台上的一个实现,它允许开发者在Java虚拟机(JVM)上运行Ruby编程语言。这个“jruby-bin-1.3.1.zip”压缩包是JRuby的一个早期版本,专为Ruby语言的研发提供必要的工具和环境。在这个版本中,重点是兼容...

    jruby开发----jar

    jruby与java使用开发,听说jruby能是swing的调用变为更简单

    jruby-bin-0.9.0.tar.gz

    **压缩包子文件的文件名称列表:**"jruby-0.9.0" 指示了在解压后,我们得到的是JRUBY的0.9.0版本的目录或文件结构,可能包含了 JRuby 运行时环境的各种组件,如解释器、库、文档和其他必要的工具。 **详细知识点:*...

    JRuby在Java测试中的应用

    ### JRuby在Java测试中的应用 #### JRuby简介 JRuby是一种使Ruby语言能在Java平台上运行的实现方式。它不仅保留了Ruby语言简洁且强大的特性,还充分利用了Java平台的强大功能,如性能优化、垃圾回收机制等。由于...

    jruby_windows_1_6_4安装文件

    1. **下载**:首先,你需要从官方网站下载“jruby_windows_1_6_4.exe”这个安装文件,确保文件来源安全可靠。 2. **运行安装**:双击exe文件,按照安装向导的提示进行操作。通常,选择默认设置即可满足大部分需求。...

    jruby_windows1.7and bin1.7

    jruby安装包 和 jruby的lib库 JRuby是面向Ruby、基于Java虚拟机(JVM)的一种解释程序,它结合了Ruby语言的简易性和功能强大的JVM的执行机制,包括与Java库 全面集成。Rails彻底加快及简化了Web应用的开发,不过它让...

    jruby-core-1.7.12.zip

    标题 "jruby-core-1.7.12.zip" 提供的是 JRuby 的核心库版本 1.7.12,这是一个将 Java 虚拟机(JVM)与 Ruby 语言结合的开源实现。JRuby 允许开发者在 Java 平台上运行 Ruby 代码,同时利用 Java 生态系统的强大功能...

    Ruby-JRuby一个Ruby语言的Java实现

    为了开始使用JRuby,你需要下载并安装JRuby,配置环境变量,然后可以像使用普通Ruby那样运行Ruby代码。开发过程中,你可以使用像`jirb`(JRuby交互式 shell)这样的工具,或者通过`bundle`管理Gem(Ruby的包管理系统...

    jruby-1.5.5+OperaWatir+RSpec

    文件列表中只提到 "jruby-1.5.5",可能是因为其余部分如 OperaWatir 和 RSpec 的库已经被包含在 JRuby 的环境中,或者它们是以其他文件形式存在,如 Gem 文件或其他配置文件。 对于开发者来说,了解如何将这些工具...

    如何监控JRuby脚本的执行

    在IT行业中,尤其是在Java与Ruby混合开发的场景中,JRuby是一个重要的工具,它允许开发者在Java平台上运行Ruby代码。由于JRuby是基于JVM(Java Virtual Machine)的,因此可以利用Java生态中的各种工具来对其进行...

    JRuby+Swing是开发人员钟情的选择

    **JRuby+Swing:开发桌面应用的利器** JRuby 是一种在 Java 平台上实现的 Ruby 解释器,它允许开发人员通过 Java 虚拟机(JVM)执行 Ruby 代码。JRuby 的独特之处在于其能够无缝地集成 Java 库,包括 Java Swing,...

    jruby-complet-1.7.zip

    找不到或无法加载主类org.jruby.Main。 原因是/usr/local/hbase/lib 目录下没有jruby-complete-1.7.19.jar文件.,下载本文件,解压缩后将jar文件直接添加到/usr/local/hbase/lib 目录下。

    jruby-1.3.1.jar

    jruby-1.3.1.jar包 解决org.jruby.exceptions.JumpException 等报错

Global site tag (gtag.js) - Google Analytics