`
lj6684
  • 浏览: 965243 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

Ruby实现论坛自动回帖积分

    博客分类:
  • Ruby
阅读更多
因为某个论坛突然出现积分限制要求,专区必须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分并不遥远哦!
分享到:
评论
3 楼 Hooopo 2010-03-25  
分呢?
2 楼 lj6684 2009-10-11  
takingoff 写道
不需要登陆吗?

先手动登录一次论坛,选择保存登录状态1个月(论坛都提供类似功能),再次通过Ruby启动IE登录论坛就不需要出示用户身份了
1 楼 takingoff 2009-10-09  
不需要登陆吗?

相关推荐

    Ruby自动化脚本实现网络拓扑映射

    从给定的文件信息来看,标题、描述及标签均指向了“Ruby自动化脚本实现网络拓扑映射”这一主题,然而,实际的部分内容却似乎与自动化脚本或网络拓扑映射没有直接关联,而更像是一个自动化操作的脚本示例,可能用于...

    ruby+watir自动论坛发帖

    ruby+watir技术实现的论坛发帖机器人,不完善。

    飞机大战ruby实现

    【标题】"飞机大战ruby实现" 是一个使用Ruby编程语言开发的飞行射击游戏,它基于RPG Maker XP 1.03引擎构建。这个项目展示了如何利用Ruby的灵活性和RPG Maker XP的功能来创建一款简单但有趣的游戏。 【描述】中的...

    Ruby-TensorStream用Ruby重新实现TensorFlow

    **Ruby-TensorStream:用Ruby重现实现TensorFlow** Ruby-TensorStream是一个开源项目,旨在为Ruby开发者提供一个类似于Google TensorFlow的深度学习框架。它的核心目标是让Ruby程序员能够利用TensorFlow的强大功能...

    开放Ruby+watir 自动化测试工具介绍+安装说明

    Ruby和Watir(Web Application Testing in Ruby)是一个强大的自动化测试框架,主要用于Web应用程序的测试。Ruby是一种面向对象的、动态的编程语言,以其简洁、优雅的语法和强大的元编程能力而受到开发者的喜爱。...

    Ruby-twittercldrrbICU的Ruby实现

    这个库为Ruby开发者提供了一套强大的工具,用于在应用程序中实现多语言支持和文化敏感的文本处理。 首先,我们来了解一下ICU。ICU是一个广泛使用的开源库,它提供了全面的Unicode支持和跨平台的本地化功能。它包含...

    ruby 自动化框架watir

    Ruby 自动化框架Watir(Web Application Testing in Ruby)是一个强大的工具,专为进行Web应用程序的端到端测试而设计。这个框架允许开发者使用Ruby语言编写测试脚本,与浏览器进行交互,模拟真实用户的行为,从而...

    ruby-使用ruby实现的排序算法-sorting.zip

    本资源"ruby-使用ruby实现的排序算法-sorting.zip"聚焦于如何使用Ruby实现不同的排序算法,这对于Ruby开发者来说是一项重要的技能。下面将详细讨论Ruby中的排序算法及其原理。 1. 内置排序方法 `sort` Ruby提供了...

    ruby实现邮件收发

    在Ruby编程语言中,实现邮件的收发是常见的任务,主要涉及到SMTP(Simple Mail Transfer Protocol)和POP(Post Office Protocol)协议。以下是对标题和描述中提到的知识点的详细解释。 1. **通过SMTP发送Email** ...

    ruby-snmp, SNMP ( 简单网络管理协议)的ruby 实现.zip

    ruby-snmp, SNMP ( 简单网络管理协议)的ruby 实现 用于 ruby的 SNMP库摘要这里库实现 SNMP ( 简单网络管理协议) 。 它在纯 ruby 中实现,因此不依赖于的外部库( 如 ) 。 你可以在 ruby 可以运行的任何地方运行这里库...

    Ruby-rubyinstall安装RubyJRubyRubiniusMagLevorMRuby

    `ruby-install`会自动处理下载、解压、配置、编译和安装的全过程,极大地简化了工作流程。 总的来说,`ruby-install`是Ruby开发者的一个得力助手,它使切换和管理多种Ruby环境变得简单高效。对于那些需要在不同Ruby...

    Ruby-Http2HTTP2协议的纯Ruby实现

    Ruby-Http2是HTTP/2协议的一个纯Ruby实现,它为Ruby开发者提供了一种高效、安全的方式来处理HTTP通信。HTTP/2是HTTP协议的最新版本,相比于早期的HTTP/1.1,它引入了许多改进,旨在提高网络性能,降低延迟,并优化...

    Ruby-Localer自动检测丢失的I18n翻译工具

    Ruby-Localer是一款专为Ruby开发设计的自动化工具,用于检测和管理应用程序中的I18n(国际化)翻译。在软件开发中,I18n是确保应用能在不同语言环境中正常运行的关键步骤,它允许开发者将文本从源代码中分离出来,...

    Ruby Ruby Ruby Ruby Ruby Ruby

    Ruby Ruby Ruby Ruby Ruby Ruby

    基于Ruby的Web自动化测试框架平台应用.pdf

    本文主要介绍了基于 Ruby 的 Web 自动化测试框架平台应用,着重讨论了 Web 自动化测试的基础理论和 Ruby 自动化测试 Watir 框架。同时,文章还介绍了山西科技资源共享平台的实际项目,对平台应用自动化测试进行了...

    基于ruby实现的音乐推荐网站.zip

    《基于Ruby实现的音乐推荐网站》 Ruby是一种面向对象的脚本语言,以其简洁明了的语法和强大的元编程能力而受到开发者的喜爱。在这个基于Ruby实现的音乐推荐网站项目中,我们可以深入学习Ruby在Web开发中的应用以及...

    ruby-on-lambda, 自动化脚本,帮助运行 ruby 2.1程序.zip

    ruby-on-lambda, 自动化脚本,帮助运行 ruby 2.1程序 上的 ruby为什么?因为:AWS的Lambda具有巨大的潜在意义和有趣的含义AWS的Lambda还没有正式支持 ruby,因为ruby 具有巨大的潜在意义和有趣的含义 !?通过:将一...

Global site tag (gtag.js) - Google Analytics