如何使用 Ruby 和 Mechanize 获取验证码 img src?

How to get captcha img src with Ruby and Mechanize?

我正在尝试编写简单的爬虫程序,它将填充 2 个输入字段。该页面有一个 img 元素。通过 Chrome 开发者模式我可以看到 imgsrc 属性。但是在获取页面后 src 属性消失了。我该如何克服这个问题? 代码:

require 'mechanize'

agent = Mechanize.new

agent.user_agent_alias = 'Windows Chrome'

page = agent.get('https://ercdmd.ru/?gpay')

form = page.forms.first

form.gpay_abon = '00-0000000000'

captcha = page.at('#img_captcha')

pp captcha

输出:

#(Element:0x15e90ec {
  name = "img",
  attributes = [ #(Attr:0x15e8c14 { name = "id", value = "img_captcha" })]
  })

我的想法是通过 Telegram 机器人通过查询获取发票。由于有验证码,我认为我可以使用 Mechanize 读取验证码图像 src 以通过 Telegram 发送该图像。然后,我会输入我可以在图像上看到的数字,然后发回给 Mechanize 以填充第二个输入字段。但现在我被困住了。 是否有其他方式从该来源获取发票?

我正在查看该页面,验证码 url 将是:

captcha_url = "https://ercdmd.ru/captcha.php?time=#{Time.now.to_i}000"

试一试,看看是否有效。