ruby 相关问题

Ruby是一个多平台的开源,动态的面向对象的解释语言,由Yukihiro Matsumoto(Matz)于1995年创建。[ruby]标签用于与Ruby语言相关的问题,包括其语法和库。 Ruby on Rails问题应该用[ruby-on-rails]标记。

对象的大小,以字节为单位

有没有一种方法可以查看Ruby中类实例分配的内存大小? 我已经构建了一个自定义类,我想知道它在内存中的对象的大小。那么有没有一个函数...

回答 1 投票 0

如何在FactoryBot中生成混合字母字符和数字的序列值?

我需要生成类似于“ABC1”和“XYZ9”的标签序列——始终是三个字母后跟一个数字。我希望标签的两个部分都逻辑上递增...

回答 2 投票 0

ActiveRecord 验证 nil

我正在尝试编写一个允许任何字符串但不允许nil的活动记录验证。 validates_presences_of 的问题是它为“”或“”返回 false,我想考虑......

回答 2 投票 0

Ruby Watir 来自 html 而不是 URL

在我的场景中,我正在抓取一个内容由 javascript 生成的网站。我知道 watir 非常适合我的情况,但众所周知,它往往会增加一点开销并使程序......

回答 2 投票 0

如何查找包含模块的所有类

我有一个名为 Nameable 的模块和一些包含该模块的模型。 有没有办法知道哪些模型(类)包含了这个模块?

回答 2 投票 0

使用 Nokogiri 和 Ruby 抓取 iframe 数据 [已关闭]

这是我编写的脚本,用于使用 Nokogiri 抓取 标签内的数据: 需要“nokogiri” 需要“休息客户端” doc = Nokogiri::HTML(RestClient.get("http://www.sample_site.com/")) ...</desc> <question vote="0"> <div> </div> <p>这是我编写的脚本,用于使用 Nokogiri 抓取 <pre><code>&lt;iframe&gt;</code></pre> 标签内的数据:</p> <pre><code>require &#39;nokogiri&#39; require &#39;restclient&#39; doc = Nokogiri::HTML(RestClient.get(&#34;http://www.sample_site.com/&#34;)) doc.xpath(&#39;//iframe[@width=&#34;1001&#34; and @height=&#34;973&#34;]&#39;).children </code></pre> <p>我现在变成这样了:</p> <pre><code>=&gt; [#&lt;Nokogiri::XML::Text:0x1913970 &#34;\r\nYour browser does not support inline frames\r\n&#34;&gt;] </code></pre> <p>谁能告诉我为什么?</p> </question> <answer tick="false" vote="2"> <p><strong><pre><code>iframe</code></pre> 用于在当前 HTML 文档中嵌入另一个文档</strong>。这意味着 iframe 从 <pre><code>src</code></pre> 属性中指定的外部源加载其内容。</p> <p>因此,如果您想抓取<pre><code>iframe</code></pre>内容,您应该向外部源发送请求,从外部源加载其内容。</p> <pre><code># The iframe (notice the &#39;src&#39; attribute) &lt;iframe src=&#34;iframe_source_url&#34; height=&#34;973&#34; width=&#34;1001&#34;&gt; # iframe content &lt;/iframe&gt; # Code to do the scraping doc = RestClient.get(&#39;iframe_source_url&#39;) parsed_doc = Nokogiri::HTML(doc) parsed_doc.css(&#39;#yourSelectorHere&#39;) # or parsed_doc.xpath(&#39;...&#39;) </code></pre> <p><strong>注意(关于错误)</strong></p> <p>当您进行抓取时,您使用的 HTTP 客户端将充当您的浏览器(您的是 <pre><code>restclient</code></pre>)。该错误表明您的浏览器不支持内联框架,换句话说,<pre><code>restclient</code></pre>不支持内联框架,这就是它无法加载框架内容的原因。</p> </answer> <answer tick="false" vote="0"> <p>这个问题应该向<pre><code>RestClient</code></pre>提出,而不是向<pre><code>Nokogiri</code></pre>提出。</p> <p><pre><code>RestClient</code></pre> 不检索 <pre><code>iframe</code></pre> 的内容。你可能想尝试检查 <pre><code>RestClient.get(&#34;http://www.sample_site.com/&#34;)</code></pre> 的内容,会有这样的字符串:</p> <pre><code>&lt;iframe src=&#34;page-1.htm&#34; name=&#34;test&#34; height=&#34;120&#34; width=&#34;600&#34;&gt; You need a Frames Capable browser to view this content. &lt;/iframe&gt; </code></pre> <p><pre><code>Nokogiri</code></pre> 可以很好地处理这个问题,它返回 <pre><code>iframe</code></pre> 节点的内容,这显然是唯一一个具有您生成的字符串的 <pre><code>TextNode</code></pre>。</p> </answer> </body></html>

回答 0 投票 0

下载从 scrapifier 中以哈希形式返回的图像?

我正在尝试抓取网站中的图像,并将它们下载到本地文件夹。 我使用的是 scrapifier gem,它看起来很简单。 我已经安装了它,制作了 scrape.rb 并从终端 ruby s 运行它......

回答 1 投票 0

检测类方法中新方法的可见性

这是一个代码示例: 类 Foo def self.create_method def 示例_方法 “富” 结尾 结尾 私人的 创建方法 结尾 Foo.public_instance_methods(false) # => [:example_met...

回答 5 投票 0

如何使用 Nokogiri 解析 Wikipedia 中的深度嵌套文本?

我正在尝试从 http://en.wikipedia.org/wiki/List_of_current_NBA_team_rosters 获取所有球员姓名的列表 这是我的新手代码: AllPlayersScraper 类 attr_accessor:

回答 1 投票 0

使用 Ocra 编译脚本时,Ruby 中出现“libgmp-10.dll”问题

我在尝试使用 Ruby 中的 ocra 创建可执行文件时遇到问题,无论如何我都无法修复它,甚至 chatGPT 也无法提供帮助。 问题出在 libgmp-10.dll 上。编译器工作了

回答 1 投票 0

如何使用 Ruby 抓取由 Javascript 函数生成的数据?

我正在尝试从此页面中抓取最新日期(即表格的第一行)的数据 URL 链接。表格的内容似乎是由 JavaScript 函数生成的。 我...

回答 1 投票 0

运行时错误::json 未在 Faraday::Request 上注册

我对 ruby 相当陌生,我正在尝试执行规范,但收到此错误: 运行时错误:           :json 未在 Faraday::Request 上注册 我正在尝试使用这个 gem:https://gi...

回答 2 投票 0

RubyMine 调试器错误

我正在使用 RubyMine 6.3,但是我在调试器方面遇到了一些问题 C:\Ruby200 中 uby.exe -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) C:/Ruby200/lib/ruby/gems/2.0.0/gems/ruby-deb...

回答 6 投票 0

Ruby:获取不带扩展名的文件名

如何获取不带扩展名的文件名?例如,输入“/dir1/dir2/test.html.erb”应返回“test”。 在实际代码中,我将传递 __FILE__ 而不是 &q...

回答 10 投票 0

Ruby on Rails 中的 Linkedin Oauth 并不是每隔几次就登录一次

我一直在开发一个使用新的 Linkedin OpenID 登录功能的应用程序。问题是它确实有效,但大多数时候它都有效。每隔几次,(3-10,相当随机)它不会让你登录...

回答 1 投票 0

你可以使用Ruby的块简写来调用像数组访问器这样的方法吗?

我已经习惯了能够缩短 some_array.map { |e| e.to_s } 到 some_array.map(&:to_s) 有没有办法缩短 some_array_of_arrays.map { |e| e[4] } 如同 数组中的一些数组......

回答 3 投票 0

通过Nokogiri找到了正确的节点,但需要进一步搜索

我正在用这个。 doc = Nokogiri::HTML(打开(url)) pic = doc.search "[text()*='hiRes']" 获取此脚本节点: 变量数据 = { 'colorImages':{ '初始': [{“...</desc> <question vote="0"> <p>我正在用这个。</p> <pre><code>doc = Nokogiri::HTML(open(url)) pic = doc.search &#34;[text()*=&#39;hiRes&#39;]&#34; </code></pre> <p>获取此脚本节点:</p> <pre><code>&lt;script type=&#34;text/javascript&#34;&gt; var data = { &#39;colorImages&#39;: { &#39;initial&#39;: [{&#34;hiRes&#34;:&#34;http://ecx.images-joes.com/images /I/71MBTEP1W9L._UL1500_.jpg&#34;,&#34;thumb&#34;:&#34;http://ecx.images-joes.com/images /I/41xE2XADIvL._US40_.jpg&#34;,&#34;large&#34;:&#34;http://ecx.images-joes.com/images /I/41xE2XADIvL.jpg&#34;,&#34;main&#34;:{&#34;http://ecx.images-joes.com/images /I/71MBTEP1W9L._UX395_.jpg&#34;:[395,260],&#34;http://ecx.images-joes.com/images /I/71MBTEP1W9L._UX500_.jpg&#34;:[500,329],&#34;http://ecx.images-joes.com/images /I/71MBTEP1W9L._UX535_.jpg&#34;:[535,352],&#34;http://ecx.images-joes.com/images /I/71MBTEP1W9L._UX575_.jpg&#34;:[575,379]} </code></pre> <p>节点从那里继续前进..</p> <p>但我唯一需要提取的是包含该字符串的整个 URL。 “UL1500”或“hiRes:”后面的 URL.. 例如。 <a href="http://ecx.images-joes.com/images/I/71MBTEP1W9L._UL1500_.jpg" rel="nofollow">http://ecx.images-joes.com/images/I/71MBTEP1W9L.<em>UL1500</em>.jpg</a></p> <p>我查找了 Nokogiri 返回的类,它是 Nokogiri::XML::NodeSet</p> <p>但我不确定如何与其交互以获得我需要的东西?</p> <p>谢谢</p> </question> <answer tick="true" vote="0"> <p>我从只使用 Nokogiri 转向正则表达式..但最终找到了这个,它就像魔术一样!!</p> <p><a href="https://stackoverflow.com/a/5939906/4386626">https://stackoverflow.com/a/5939906/4386626</a></p> </answer> <answer tick="false" vote="0"> <p>是的。由于一般情况,它是一个 NodeSet。 </p> <p>参见:<a href="http://www.rubydoc.info/github/sparklemotion/nokogiri/master/Nokogiri/XML/NodeSet#children-instance_method" rel="nofollow">http://www.rubydoc.info/github/sparklemotion/nokogiri/master/Nokogiri/XML/NodeSet#children-instance_method</a></p> <p>在这种情况下你可以尝试:</p> <pre><code>pic.children.first.content </code></pre> </answer> </body></html>

回答 0 投票 0

在我的 M3 Macbook 上安装 Jekyll 无法“坚持”

我想我已经把自己逼到了一个角落,试图覆盖默认的 Ruby 安装,以便我可以安装 Jekyll。 这是一个粗略的时间表: 我严格按照本教程进行操作,它确实有效,我...

回答 1 投票 0

我可以在 RSpec 中写一个期望,要求使用特定参数仅调用一次方法吗?

我刚刚完成第一年在 Rails 中编写生产代码的工作,我并没有真正被困在这里,但是我所经历的非 ruby 性很奇怪,我想看看是否有人遇到这个问题...

回答 1 投票 0

(Ruby) 将字符串转换为一行代码?

所以,对于我正在开发的一款游戏,假设我在咒语的评论框中添加了一些文本: 通过使用切片功能,我...

回答 3 投票 0

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