我正在尝试使用Mechanize登录和抓取网站。
出于某种原因,我似乎无法使登录功能正常工作。有什么想法吗?
这是我的代码:
require 'nokogiri'
require 'open-uri'
require 'mechanize'
a = Mechanize.new
a.get('https://jackthreads.com/')
form = a.page.form_with(:class => 'jt-form')
form.field_with(:name => "email").value = "email"
form.field_with(:name => "password21").value = "password"
page = a.submit(form, form.buttons.first)
表单上的操作设置为“ #
”,因此您的提交将被忽略。实际上是通过AJAX对https://www.jackthreads.com/login?method=ajax
进行POST调用。也许,如果您在提交之前使用Mechanize更新表单的action属性,它将可以解决问题。
关于它的价值,我通过Chrome Web Inspector找出了答案。看到该值设置为“ #
”后,我转到了“网络”选项卡,由XHR过滤,然后尝试提交一些内容。