我是Ruby on Rails开发人员,他被要求编写纯Ruby脚本。
目标是:
我从来没有在纯Ruby中做过这样的事情,因为我的大多数经验都是关于Rails的,如果有人能指出我正确的方向,我会很高兴。
我熟悉xpath,我的直觉是以某种方式使用它。
答案 0 :(得分:2)
Mechanize是你的朋友。它可以轻松浏览网站,填写表单并提交表单,并且是Ruby的标准。
从指南中:
require 'mechanize'
agent = Mechanize.new
page = agent.get('http://google.com/')
# point to the form
google_form = page.form('f')
# fill in a field
google_form.q = 'ruby mechanize'
# submit the form
page = agent.submit(google_form, google_form.buttons.first)
# page will now contain the returned search results
Mechanize建立在Nokogiri之上,它是Ruby的主要XML / HTML解析器,因此如果您需要以不受Mechanize直接支持的方式搜索文档的DOM,您可以轻松地执行此操作。除了XPath之外,Nokogiri还支持CSS访问器,使您可以轻松利用HTML和CSS编码知识。
答案 1 :(得分:0)
您可以将gets
用于标准输入。要连接到服务器,您可以执行以下操作:
require 'net/http'
require 'uri'
url = URI.parse gets.chomp
http = Net::HTTP.start url.host
request_params = '?foo=bar'
request = Net::HTTP::Get.new url.path + request_params
response = http.request request
puts response.body
希望这有帮助
答案 2 :(得分:0)
编写脚本以使用HTTP请求提交表单。使用像faraday
这样的http库