【发布时间】:2015-05-10 19:50:12
【问题描述】:
我正在尝试使用 Nokogiri 抓取 Facebook 页面的评级,但我无法得到它来提供我需要的东西。
让我告诉你:
解析“4.3”值,然后将其转换为浮点数:
fb_page = Nokogiri::HTML(open("https://www.facebook.com/pages/Singe-Vert/113716970402?fref=ts&rf=131302280307240"))
fb_page.css('span._3tgt._30zy._2l02').text.to_f
但是这会返回一个空字符串""
【问题讨论】:
-
该跨度是否出现在页面的实际源中,还是通过脚本动态添加的?检查“查看源代码”。您提供的图像看起来像是来自检查器,它显示了脚本运行后生成的页面。
-
刚刚看了一下页面源代码。跨度在那里,除了它在另一个名为
<code class="hidden_elem" id="u_0_15"></code>的元素中被注释掉。这是什么意思? -
看起来页面是使用那些
hidden_elemcmets 用javascript 构建的。由于 Nokogiri 只能看到“原始”页面,因此您不能直接使用它来获取所需的信息。也许您可以找到包含该信息的comment()节点,然后以某种方式解析其内容。 -
不错的建议,我一定会检查的。
-
欢迎来到 Stack Overflow。请不要使用屏幕截图来表示数据或传入的 HTML。这迫使我们输入文本只是为了能够帮助您。相反,请复制并粘贴演示问题所需的最少 HTML,以便我们可以重复使用您的输入。
标签: html ruby-on-rails ruby web-scraping nokogiri