因为某个论坛突然出现积分限制要求,专区必须500分才可进入,苦坏我这种只看帖不回帖的人了,虽然注册了有1年多了,但积分才有可怜的几十点,什么时候能熬到500分啊!
回贴1次给积1分,这种没营养的回帖工作就交给程序去完成吧!
想起前一阵子用过Watir自动提交网页信息,正好用它来试试;刚一上手,发现光有Watir还不够,因为程序还要能够自动找到每页帖子地址,就是需要分析HTML页面内容,查查资料,发现Hpricot就是专门做这个地,双管齐下!
Hpricot Ruby的专用HTML解析工具,基于XPath语法,用起来比较简单,非常不错~
Hpricot主页地址:
http://wiki.github.com/why/hpricot
安装
gem install hpricot
程序源代码如下
require "watir"
require "rubygems"
require "hpricot"
require "open-uri"
ie = Watir::IE.new
ie.speed = :fast
#这里填写论坛“闲聊区”地址,只有这里是不限制积分的
doc = Hpricot(open('http://xxxx'))
#从页面信息中定位出每条帖子
doc.search("//tbody[@id]") do |idoc|
#从每条帖子信息中定位出帖子相对地址URL
idoc.search("//a[@target='_blank']") do |link|
#拼装出帖子绝对地址
url = "http://xxxx/" + link.attributes["href"]
ie.goto(url)
#设置回帖内容
ie.text_field(:name, "message").set(":victory: :victory: 支持")
#点击回复按钮
ie.button(:id, "postsubmit").click
#论坛要求回复时间>10秒
sleep(10)
#在帖子信息中通过寻找<a>标签每次都找到2个同样的,我只需要一个,用完即退出
break
end
end
现在的方法还比较笨,程序不会在帖子索引页自动向后翻页,每次程序运行就是回复指定页面中的30条帖子(积30分),不过已经很好了,运行了几次,现在已经200多分了~~~,看来500分并不遥远哦!
分享到:
相关推荐
从给定的文件信息来看,标题、描述及标签均指向了“Ruby自动化脚本实现网络拓扑映射”这一主题,然而,实际的部分内容却似乎与自动化脚本或网络拓扑映射没有直接关联,而更像是一个自动化操作的脚本示例,可能用于...
ruby+watir技术实现的论坛发帖机器人,不完善。
【标题】"飞机大战ruby实现" 是一个使用Ruby编程语言开发的飞行射击游戏,它基于RPG Maker XP 1.03引擎构建。这个项目展示了如何利用Ruby的灵活性和RPG Maker XP的功能来创建一款简单但有趣的游戏。 【描述】中的...
**Ruby-TensorStream:用Ruby重现实现TensorFlow** Ruby-TensorStream是一个开源项目,旨在为Ruby开发者提供一个类似于Google TensorFlow的深度学习框架。它的核心目标是让Ruby程序员能够利用TensorFlow的强大功能...
Ruby和Watir(Web Application Testing in Ruby)是一个强大的自动化测试框架,主要用于Web应用程序的测试。Ruby是一种面向对象的、动态的编程语言,以其简洁、优雅的语法和强大的元编程能力而受到开发者的喜爱。...
这个库为Ruby开发者提供了一套强大的工具,用于在应用程序中实现多语言支持和文化敏感的文本处理。 首先,我们来了解一下ICU。ICU是一个广泛使用的开源库,它提供了全面的Unicode支持和跨平台的本地化功能。它包含...
Ruby 自动化框架Watir(Web Application Testing in Ruby)是一个强大的工具,专为进行Web应用程序的端到端测试而设计。这个框架允许开发者使用Ruby语言编写测试脚本,与浏览器进行交互,模拟真实用户的行为,从而...
本资源"ruby-使用ruby实现的排序算法-sorting.zip"聚焦于如何使用Ruby实现不同的排序算法,这对于Ruby开发者来说是一项重要的技能。下面将详细讨论Ruby中的排序算法及其原理。 1. 内置排序方法 `sort` Ruby提供了...
在Ruby编程语言中,实现邮件的收发是常见的任务,主要涉及到SMTP(Simple Mail Transfer Protocol)和POP(Post Office Protocol)协议。以下是对标题和描述中提到的知识点的详细解释。 1. **通过SMTP发送Email** ...
ruby-snmp, SNMP ( 简单网络管理协议)的ruby 实现 用于 ruby的 SNMP库摘要这里库实现 SNMP ( 简单网络管理协议) 。 它在纯 ruby 中实现,因此不依赖于的外部库( 如 ) 。 你可以在 ruby 可以运行的任何地方运行这里库...
`ruby-install`会自动处理下载、解压、配置、编译和安装的全过程,极大地简化了工作流程。 总的来说,`ruby-install`是Ruby开发者的一个得力助手,它使切换和管理多种Ruby环境变得简单高效。对于那些需要在不同Ruby...
Ruby-Http2是HTTP/2协议的一个纯Ruby实现,它为Ruby开发者提供了一种高效、安全的方式来处理HTTP通信。HTTP/2是HTTP协议的最新版本,相比于早期的HTTP/1.1,它引入了许多改进,旨在提高网络性能,降低延迟,并优化...
Ruby-Localer是一款专为Ruby开发设计的自动化工具,用于检测和管理应用程序中的I18n(国际化)翻译。在软件开发中,I18n是确保应用能在不同语言环境中正常运行的关键步骤,它允许开发者将文本从源代码中分离出来,...
Ruby Ruby Ruby Ruby Ruby Ruby
本文主要介绍了基于 Ruby 的 Web 自动化测试框架平台应用,着重讨论了 Web 自动化测试的基础理论和 Ruby 自动化测试 Watir 框架。同时,文章还介绍了山西科技资源共享平台的实际项目,对平台应用自动化测试进行了...
《基于Ruby实现的音乐推荐网站》 Ruby是一种面向对象的脚本语言,以其简洁明了的语法和强大的元编程能力而受到开发者的喜爱。在这个基于Ruby实现的音乐推荐网站项目中,我们可以深入学习Ruby在Web开发中的应用以及...
ruby-on-lambda, 自动化脚本,帮助运行 ruby 2.1程序 上的 ruby为什么?因为:AWS的Lambda具有巨大的潜在意义和有趣的含义AWS的Lambda还没有正式支持 ruby,因为ruby 具有巨大的潜在意义和有趣的含义 !?通过:将一...