如何使用Mechanize登录和抓取站点

问题描述 投票:0回答:2

我正在尝试使用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)
ruby authentication mechanize
2个回答
3
投票

表单上的操作设置为“ #”,因此您的提交将被忽略。实际上是通过AJAX对https://www.jackthreads.com/login?method=ajax进行POST调用。也许,如果您在提交之前使用Mechanize更新表单的action属性,它将可以解决问题。

关于它的价值,我通过Chrome Web Inspector找出了答案。看到该值设置为“ #”后,我转到了“网络”选项卡,由XHR过滤,然后尝试提交一些内容。

© www.soinside.com 2019 - 2024. All rights reserved.