如何使用 Ruby 和 Mechanize 获取验证码 img src?
How to get captcha img src with Ruby and Mechanize?
我正在尝试编写简单的爬虫程序,它将填充 2 个输入字段。该页面有一个 img
元素。通过 Chrome 开发者模式我可以看到 img
有 src
属性。但是在获取页面后 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"
试一试,看看是否有效。
我正在尝试编写简单的爬虫程序,它将填充 2 个输入字段。该页面有一个 img
元素。通过 Chrome 开发者模式我可以看到 img
有 src
属性。但是在获取页面后 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"
试一试,看看是否有效。