Ruby Nokogiri html解析问题
我很难弄明白为什么我不能通过nokogiri正确解析关键词。在下面的示例中,我的a href链接文本功能工作正常,但无法确定如何提取关键字 这是我迄今为止的代码: 这成功地呈现了页面中的所有a href文本,但当我尝试将其用于关键字时,它没有显示任何内容。我尝试过几种不同的方法,但都没有成功。我假设节点后的“.text”标注是错误的,但我不确定Ruby Nokogiri html解析问题,ruby,nokogiri,Ruby,Nokogiri,我很难弄明白为什么我不能通过nokogiri正确解析关键词。在下面的示例中,我的a href链接文本功能工作正常,但无法确定如何提取关键字 这是我迄今为止的代码: 这成功地呈现了页面中的所有a href文本,但当我尝试将其用于关键字时,它没有显示任何内容。我尝试过几种不同的方法,但都没有成功。我假设节点后的“.text”标注是错误的,但我不确定 很抱歉,这段代码太粗糙了,我正在尽力学习。你说得对,问题是text文本返回开始标记和结束标记之间的文本。由于meta标记是空的,这将为您提供空字符串
很抱歉,这段代码太粗糙了,我正在尽力学习。你说得对,问题是
text
<代码>文本返回开始标记和结束标记之间的文本。由于meta标记是空的,这将为您提供空字符串。您需要的是“content”属性的值
doc.xpath("//meta[@name='Keywords']/@content").each do |attr|
puts attr.value
end
因为您知道只有一个名为“keywords”的元标记,所以实际上不需要循环遍历结果,但可以像下面这样直接获取第一项:
puts doc.xpath("//meta[@name='Keywords']/@content").first.value
但是请注意,如果没有名为“content”的meta标记,这将导致错误,因此第一个选项可能更可取。谢谢!!我已经寻找了很长一段时间,看看在哪里可以找到这些定义。你能告诉我我应该看什么样的文件吗?当我研究这样的问题时,我几乎总是在irb。这使您可以探索返回的值,找出需要进行的调用或需要查询的属性。请阅读“”。演示问题的最小输入是什么?不要要求我们创造自己的。你必须帮助我们帮助你。通过这样做,您可以帮助那些在将来寻找类似解决方案的人,这就是堆栈溢出出现的原因。
puts doc.xpath("//meta[@name='Keywords']/@content").first.value