Ruby中实现网页抓取,一般用的是mechanize,使用非常简单。
安装
sudo gem install mechanize
require 'rubygems' require 'mechanize' agent = Mechanize.new page = agent.get('http://google.com/')
page = agent.page.link_with(:text => 'News').click
google_form = page.form('f') google_form["q"] = 'ruby mechanize' page = agent.submit(google_form, google_form.buttons.first) pp page
table = page.search('a') text = table.inner_text puts text
cookie = Mechanize::Cookie.new("JSESSIONID", "BA58528B76124698AD033EE6DF12B986:-1") cookie.domain = "datamirror.csdb.cn" cookie.path = "/" agent.cookie_jar.add!(cookie)
agent.get("http://google.com").save_as
小技巧
puts Mechanize::AGENT_ALIASES 可以打印出所有可用的user_agent
puts Mechanize.instance_methods(false) 输出Mechanize模块的所有方法
puts Mechanize.instance_methods() 输出Mechanize模块的所有方法以及所继承的类的函数
本文向大家介绍在Ruby on Rails中使用AJAX的教程,包括了在Ruby on Rails中使用AJAX的教程的使用技巧和注意事项,需要的朋友参考一下 如果没有听说过 Rails,那么欢迎您外星旅行归来,近几年大概只有那个地方没有听说过 Ruby on Rails 了。Rails 最吸引人的地方是能够很快地建立功能完备的应用程序并运行起来。Rails 为 Ajax 而内置集成的 Proto
本文向大家介绍在Ruby中创建和使用哈希的教程,包括了在Ruby中创建和使用哈希的教程的使用技巧和注意事项,需要的朋友参考一下 哈希(Hash)是类似 "employee" => "salary" 这样的键值对的集合。哈希的索引是通过任何对象类型的任意键来完成的,而不是一个整数索引,其他与数组相似。 通过键或值遍历哈希的顺序看起来是随意的,且通常不是按照插入顺序。如果您尝试通过一个不存在的键访问哈
本文向大家介绍使用Ruby来处理文本的教程,包括了使用Ruby来处理文本的教程的使用技巧和注意事项,需要的朋友参考一下 与 Perl 和 Python 类似,Ruby 拥有出色的功能,是一种强大的文本处理语言。本文简单介绍了 Ruby 的文本数据处理功能,以及如何使用 Ruby 语言有效处理不同格式的文本数据,无论是 CSV 数据还是 XML 数据。 Ruby 字符串 常用缩略词 CSV:
本文向大家介绍使用Ruby来处理JSON的简单教程,包括了使用Ruby来处理JSON的简单教程的使用技巧和注意事项,需要的朋友参考一下 环境配置 在使用 Ruby 编码或解码 JSON 数据前,我们需要先安装 Ruby JSON 模块。在安装该模块前你需要先安装 Ruby gem,我们使用 Ruby gem 安装 JSON 模块。 但是,如果你使用的是最新版本的 Ruby,可能已经安装了 gem,
本文向大家介绍利用RJB在Ruby on Rails中使用Java代码的教程,包括了利用RJB在Ruby on Rails中使用Java代码的教程的使用技巧和注意事项,需要的朋友参考一下 开始之前 关于本教程 Ruby on Rails (Rails) 是用 Ruby 编写的一个 full-stack Web 应用程序框架,而 Ruby 是一种功能丰富的、免费的、可扩展的、可移植的、面向对象的脚本
当您希望与 Web 页面中找到的内容进行某种比较复杂的交互时,您需要使用 mechanize 库 示例代码: import re from mechanize import Browser br = Browser() br.open("http://www.example.com/") # follow second link with element text matching regular
主要内容:谁适合阅读本教程?,阅读本教程前,您需要了解的知识:,编译/执行 Ruby 程序,实例Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。在 Ruby 社区,松本也被称为马茨(Matz)。Ruby 可运行于多种平台,如 Windows、MAC OS 和 UNIX 的各种版本。 学习本教程,您将对 Ruby 有一个全面的了解。 现在开始学习 Ruby! 谁适合阅读
问题内容: 我正在连接到一个网站,正在登录。 该网站将我重定向到新页面,并且Mechanize处理所有cookie和重定向作业,但是,我找不到最后一页。我使用Firebug并再次完成了相同的工作,然后发现我必须通过Mechanize传递另外两页。 我快速浏览了一下页面,发现有一些JavaScript和HTML代码,但由于它看起来不像普通的页面代码而无法理解。这些页面是做什么用的?他们如何重定向到其