我使用Anemone宝石的方式如下:
这是很好的工作,但有没有任何可能的抓取页面,需要登录(如果我知道用户名和密码)?我知道机械创业板,它提供了填写表格的功能,但我不知道如何在我的过程中集成它(如果可能的话)。或者,还有其他方法可以“在”登录表单后面爬行页面吗?
发布于 2016-04-19 16:15:00
在您的情况下,我建议使用以下解决方案之一:
因为这两种解决方案允许您填写表单,单击web元素,并执行任何默认的internet用户操作。这是不可能的情况下机械化宝石。
发布于 2018-06-03 13:04:39
您可以使用机器自动登录过程,然后保持它的会话来做下一步您想做的事情。
下面是我的示例代码:
require 'mechanize'
module YourModuleName
class YourClassName
attr_reader :agent
def call
@agent = Mechanize.new
page = @agent.get(@login_page)
form = page.forms.first
form.field_with(id: LoginConstant::CSS[:user_email]).value =
LoginConstant::USER_NAME
form.field_with(id: LoginConstant::CSS[:user_password]).value = LoginConstant::PASSWORD
form.submit
self
end
end
end然后在代码中爬行请求登录的页面,如下所示:
response = YourModuleName::YourClassName.new('<your_login_page>').call
response.agent.get('<your_page_to_want_cralwer>')https://stackoverflow.com/questions/36661388
复制相似问题