python - python中的Ruby Mechanize 脚本

标签 python ruby mechanize

我有这个 ruby 脚本:

require 'mechanize'
agent = Mechanize.new
page = agent.get "http://www.speech.sri.com/projects/srilm/download.html"
form = page.forms.last
form.field_with(name: "name").value = "Hans Meier"
form.field_with(name: "org").value = "Meier AG"
form.field_with(name: "email").value = "hans.meier.org"
form.field_with(name: "address").value = "Baslerstrasse 32"
form.field_with(name: "file").value = "/project/srilm/srilm-1.6.0.tar.gz"
File.open('srilm.tgz') {|f| f.write agent.submit(form).body }

根据intro page ,第一部分很简单,但是我不知道如何处理form.field_with东西。

最佳答案

import mechanize
br = mechanize.Browser()
br.open("http://www.speech.sri.com/projects/srilm/download.html")
br.select_form(nr = True)
br['name'] = 'Hans Meier'
br['org'] = 'Meier AG'
br['email'] = 'hans.meier.org'
br['address'] = 'Baslerstrasse 32'
br['file'] = ['/project/srilm/srilm-1.6.0.tar.gz']
form_submission = br.submit()
with open('srilm.tgz', 'w') as f:
    f.write(form_submission.read())

关于python - python中的Ruby Mechanize 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8552366/

相关文章:

ruby-on-rails - 包含字符串或其他字符串的节点

python - 使用 PIL 在正方形内绘制线条

python - 如何在没有 list.extend 方法和没有 '+' 运算符的情况下扩展列表

python 子进程: "write error: Broken pipe"

python - 如何将 tweepy api 中的坐标流存储到 mysql 数据库中?

ruby - 修改 Ruby 中的数组项(如果它包含特定单词)

python-2.7 - 使用 Python mechanize 抓取 aspx - 获取搜索结果

发送 POST 请求时 Ruby 的 Mechanize 错误 401(Steam 交易报价发送)

ruby-on-rails - rake 中止!不允许操作 - Carrierwave 删除验证失败的 tmp 文件

ruby - 在 Ruby 中传递任意数量的 lambda(或 proc)