草庐IT

orbital-mechanics

全部标签

ruby - 使用 Mechanize for Ruby 抓取 Akamai 控制面板的屏幕 - Cookies 问题

我正尝试从Akamai的控制面板中抓取一些数据,但在通过mechanizeforRuby登录页面时遇到问题。require'rubygems'require'mechanize'agent=Mechanize.newurl='http://control.akamai.com'page=agent.get(url)putspage.content检查页面后,我发现显示:"Cookiesupporthasbeendisabledinyourbrowser.Pleaseenablecookiesbeforecontinuing."页面认为我禁用了cookie的事实阻止我登录。有什么想法吗?

ruby - 如何使用 ruby​​/mechanize 在表单中选择下拉列表的值

如何在此下拉列表中选择第二个选项?PleaseSelectanOptionABCDFGHIJrubyrequire'rubygems'require'mechanize'url="http://...."agent=Mechanize.newpage=agent.get(url)form=agent.page.forms.first*selectdropdown* 最佳答案 form.field_with(:name=>'size').options[1].click 关于ruby-如何

ruby - 如何在 Ruby 中使用 mechanize 执行 Head 请求

我可以使用Faraday(Faraday.headurl)执行HEAD请求,但我在当前项目中使用Mechanize。我想在不下载文件的情况下从标题(文件名)中获取一个值。Mechanizegem是否提供这样的选项?我正在使用v2.0。 最佳答案 就像get但它是head:page=agent.head'http://www.google.com/'page.body.length#=>0page.header.keys#=>["date","expires","cache-control","content-type","set-c

ruby - 使用 Ruby Mechanize 下载文件

我正在尝试使用mechanize保存文件。我包含的脚本使我能够下载名称正确但没有内容的文件。关于我可能做错了什么的任何想法?这是我正在使用的资源。http://www.rubydoc.info/gems/mechanize/Mechanize/File任何帮助都会很棒!谢谢!require'mechanize'uri=URI'http://website.com/page.html'file=Mechanize::File.newuri,nil,''filename=file.saveputsfilename 最佳答案 mecha=

ruby - 使用 Ruby WWW::Mechanize 时忽略 Iconv::IllegalSequence

我在使用mechanize库时在某些网页上遇到了Iconv::IllegalSequence错误。有没有办法让Mechanize只是忽略错误编码的字符并返回“剪切”页面?我知道relatedthread,但我宁愿丢弃页面上的一些字符,然后重新实现编码猜测。时间差 最佳答案 解决办法是把util.rb中的第40行改成Iconv.iconv(code,"UTF-8",s).join("")到Iconv.iconv("#{code}//IGNORE","UTF-8",s).join("")或Iconv.conv("#{code}//IGN

ruby - 如何从 Mechanize::Page 的搜索方法中获取 Mechanize 对象?

我正在尝试抓取一个只能依靠类和元素层次结构来找到正确节点的站点。但是使用Mechanize::Page#search返回Nokogiri::XML::Element,我不能用它来填写和提交表单等。我真的很想使用纯CSS选择器,但是使用各种_with方法匹配类似乎也非常简单。但是,与简单地使用CSS选择器相比,匹配:not(.class)之类的东西非常冗长,而我不知道如何匹配元素层次结构。有没有办法将Nokogiri元素转换回Mechanize对象,或者甚至更好地直接从search方法中获取它们? 最佳答案 如前所述inthisans

ruby - 如何使用 Ruby Mechanize 设置 POST 请求的主体?

如何使用RubyMechanizegem设置POST请求的主体。我知道你能做到mechanize.post(url,query,headers)但我想用JSON字符串设置POST请求的主体。那可能吗?因此,类似于jQuery中的类似内容:$.ajax({type:'POST',url:'myurl',data:"{'key1':'value1','key2':'value2'}",...}); 最佳答案 我不太喜欢您在评论中链接到的答案,因为它使用了to_json()这是一种rails方法,并且您问题的标签并不表示您的问题与rail

ruby - 在 Ruby 中使用 Mechanize 的 SelectList

我正在尝试使用MechanizewithRuby设置选择列表的值。我可以导航到带有选择列表的页面,使用.form方法抓取表单,然后找到选择列表。report_form=page.form('form1')ppreport_form.field_with(:name=>"report_type")正确返回正确的对象。但是,我仍然无法设置该字段的值!我试过:report_form.field_with(:name=>"report_type").options.first.selectreport_form.field_with(:name=>"report_type").options[

ruby - 如何单击 Mechanize 和 Nokogiri 中的链接?

我正在使用Mechanize抓取Google电子钱包的订单数据。我正在从第一页捕获所有数据,但是,我需要自动链接到后续页面以获取更多信息。#purchaseOrderPager-pagerNextButton将移动到下一页,这样我就可以选择更多记录进行捕获。该元素看起来像这样。我需要点击它才能继续。但是,当我尝试以下操作时出现错误:next_page=@orders_page.search("#purchaseOrderPager-pagerNextButton")next_page.click错误:undefinedmethod`click'for#(NoMethodError)

ruby-on-rails - 无法使用带有 Mechanize 的表单登录

我正在尝试使用mechanize提交表单。但是提交时没有任何反应。我刚刚再次获得登录页面。形式:http://affilate.mikkelsenmedia.dk/partnersystem/mylogins.phprequire'Mechanize'agent=WWW::Mechanize.newagent.get("http://affilate.mikkelsenmedia.dk/partnersystem/mylogins.php")form=agent.page.forms.firstform.username='username'form.password='passwor