偶尔,当我访问带有HTTPParty或Mechanize的网站时,我会收到此错误:hostname"www.example.com"doesnotmatchtheservercertificate我可以看到thereisaworkaround如果您使用open方法,但我不确定如何利用上述gems。Mechanize的堆栈跟踪:agent=Mechanize.newagent.read_timeout=180agent.open_timeout=180agent.user_agent_alias='MacSafari'agent.redirect_ok=:allagent.follow_
我正尝试单击主页上的“设置”按钮,但当我单击时我返回此页面:#}{meta}{titlenil}{iframes}{frames}{links}{forms}>这是..有点空!这些iframe和框架的东西可能有问题吗? 最佳答案 正如roja所提到的,跟随重定向可能是您所需要的。以下是如何执行此操作的示例:@agent=Mechanize.new@agent.redirect_ok=:all@agent.follow_meta_refresh=:anywhere那么您几乎可以忽略涉及重定向的事实-Mechanize只会将您带到结果页
我在irb上获得了这些命令require'mechanize'agent=Mechanize.newagent.get('https://monabo.lemonde.fr/customer/account/forgotpassword/')我遇到了这个错误:OpenSSL::SSL::SSLError:SSL_connectreturned=1errno=0state=unknownstate:sslv3alerthandshakefailure我在mac上试过,它可以正常工作,但没有出现此错误。但是,它在我的计算机(运行LinuxMint17)上不起作用。我尝试过的:导出这个变量:
我尝试在我的Mac上安装mechanize,但总是出错。我尝试了网站上给出的所有答案,但没有一个对我有用。我已经尝试过sudogeminstallmechanize,但出现以下错误。Password:Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingmechanize:ERROR:Failedtobuildgemnativeextension.currentdirectory:/Library/Ruby/Gems/2.0.0/gems/nokogiri-1.6.8/ext/nokogiri/Syste
代码:Shoes.setupdogem'mechanize'endrequire'rubygems'require'mechanize'跑鞋上面写着:nosuchfiletoload--mechanize 最佳答案 我做到了:sudogeminstallmechanize以下似乎有效:Shoes.setupdogem'mechanize'endrequire'mechanize'上面写着“构建native扩展”并且要花很长时间,但根据hackety.org这似乎是常态. 关于ruby-没
我使用Mechanize循环遍历已分页的表格。我对包含多个提交输入的表单有疑问。输入标签用作分页,它们是动态生成的。当我循环浏览需要抓取的页面时,我需要能够选择正确的输入,因为只有其中一个会带我到“下一页”。正确的标签可以通过名称、类、值等不同的属性来识别。但我的问题是,我无法找到如何告诉mechanize使用哪个标签。我试过这个:require'mechanize'require'yaml'url="http://www.somewhere.com"agent=Mechanize.newpage=agent.get(url)loopdoputs"somecontentfromsite
使用Mechanize,我需要找到一些方法将请求限制为每秒1个(或每5秒1个,或每分钟2个,等等,关键是找到某种方法来限制请求速率)。搜索,这似乎是开始解决问题的方法:连接前/后Hook。只有我不完全知道如何处理它们或如何处理,我猜测从我的水平和研究我需要做一个lambda或proc说'嘿等一下',似乎足够基本。我的问题基本上是关于如何执行此操作的示例或其他线索。我尝试了几个lambda(而且我对这到底会做什么了解程度很低):@agent.pre_connect_hooks但这只会将我的请求变成错误:ArgumentError:wrongnumberofarguments(2for0)
我想处理整个网站的除外部链接之外的所有链接。有什么简单的方法可以识别外部链接并跳过它吗?到目前为止,我的代码看起来像(站点url通过命令行参数传递)我正在使用mechanize(0.9.3)和ruby1.8.6(2008-08-11补丁级别287)[i386-mswin32]请注意,该网站可以使用相对路径,因此没有主机/域,这会使它变得有点复杂require'mechanize'defprocess_page(page)putsputspage.titleSTDIN.getspage.links.eachdo|link|process_page($agent.get(link.href
文件上传不能使用:form.file_upload_with(:name=>'image[1]').file_name='/tmp/image.jpg'form.submit这是一个过时的例子:https://github.com/sparklemotion/mechanize/blob/master/examples/flickr_upload.rb我在两个不同的网站上试过了。我正在使用Mechanize2.6.0。 最佳答案 稍微偏离主题,但我发现另一种使用Mechanize上传文件的方法很有用,特别是如果您没有方便的HTML表
我在设置user-agent时遇到困难。如您所见,我的自定义user_agent_alias没有返回。有人可以解释为什么这不起作用以及我该如何解决这个问题吗?require'rubygems'require'mechanize'require'nokogiri'm=Mechanize.newm.user_agent_alias='MyCustomUserAgent'page=m.get("http://whatsmyuseragent.com/")html=Nokogiri::HTML(page.body)putshtml.xpath('//*[(@id="body_lbUserAge