• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >ruby > Ruby中的Mechanize的使用教程

Ruby中的Mechanize的使用教程

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了mechanize,python mechanize,multi mechanize,mechanize是什么意思,ruby教程等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Ruby中实现网页抓取,一般用的是mechanize,使用非常简单。

安装
sudo gem install mechanize
</div>
抓取网页
require 'rubygems'
require 'mechanize'
agent = Mechanize.new
page = agent.get('http://google.com/')
</div>
模拟点击事件
page = agent.page.link_with(:text => 'News').click
</div>
模拟表单提交
google_form = page.form('f')
google_form["q"] = 'ruby mechanize'
page = agent.submit(google_form, google_form.buttons.first)
pp page
</div>
分析页面,mechanize用的是nokogiri解析网页的,所以可以参照nokogiri的文档
table = page.search('a')
text = table.inner_text
puts text
</div>
有几点注意的地方: 如果需要先登录的网页,那么可以在网站先登录,登录后记录JSESSIONID,然后赋值给agent
cookie = Mechanize::Cookie.new("JSESSIONID", "BA58528B76124698AD033EE6DF12B986:-1")
cookie.domain = "datamirror.csdb.cn"
cookie.path = "/"
agent.cookie_jar.add!(cookie)
</div>
如果需要保存网页,使用.save_as,(或许save也可以,我没试过)例如
agent.get("http://google.com").save_as
</div>

小技巧

puts Mechanize::AGENT_ALIASES 可以打印出所有可用的user_agent
puts Mechanize.instance_methods(false) 输出Mechanize模块的所有方法
puts Mechanize.instance_methods()   输出Mechanize模块的所有方法以及所继承的类的函数

</div>

您可能想查找下面的文章:

  • Ruby中使用mechanize批量下载校内网相册照片
  • Ruby中的Mechanize的使用教程

相关文章

  • 在阿里云 (aliyun) 服务器上搭建Ruby On Rails环境
  • web 应用中常用的各种 cache详解
  • Ruby中使用Nokogiri包来操作XML格式数据的教程
  • 详解Lua中的表的概念及其相关操作方法
  • Rails命令行常用操作命令简明总结
  • Ruby on Rails中MVC结构的数据传递解析
  • ruby的程序结构介绍
  • Ruby中Hash的11个问题解答
  • 详解Ruby当中的算数运算
  • ruby 迭代器使用方法

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Ruby的语法和语言特性总结
    • Windows下Ruby on Rails开发环境安装配置图文教程
    • Ruby编程中的语法使用风格推荐
    • 详解Ruby中的循环语句的用法
    • ruby实现修改ubuntu下的hosts
    • 实例讲解Ruby中的五种变量
    • Ruby实现的最长公共子序列算法
    • ruby判断一个数是否为质数(素数)示例
    • 在Ruby中创建和使用哈希的教程
    • 在Ruby on Rails中使用Markdown的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有