草庐IT

Nokogiri

全部标签

css - 如何使用 Nokogiri 和 Ruby 选择多个类

我想从一个表元素中选择所有具有even类或odd类的行。我尝试了jQuery语法:report.css("table.datatr[class~=oddeven]").each{|line|parse_line_item(line)}但是它抛出了一个错误,感谢任何帮助,谢谢。 最佳答案 使用两个选择器:report.css("table.datatr.odd,table.datatr.even")~=CSS属性选择器中的运算符检查该值是否与以空格分隔的类列表匹配。例如,tr[class~=odd]会匹配和.但是,在class的特定情

ruby - 使用 nokogiri 干搜索网站的每一页

我想搜索网站的每一页。我的想法是找到一个页面上保留在域内的所有链接,访问它们,然后重复。我也必须采取措施,不再重蹈覆辙。所以它很容易开始:page='http://example.com'nf=Nokogiri::HTML(open(page))links=nf.xpath'//a'#findalllinksoncurrentpagemain_links=links.map{|l|l['href']ifl['href']=~/^\//}.compact.uniq“main_links”现在是事件页面中以“/”开头的链接数组(应该仅是当前域中的链接)。从这里我可以将这些链接输入并阅读到上

css - 如何使用 Nokogiri(以及 XPATH 和 CSS)提取 HTML 链接和文本

(更新:这个答案是从Nokogiri的Angular写的,但如果您正在寻找特定查询的XPATH或CSS语法,它也很有用。)我喜欢Nokogiri——它是从XML和HTML文档中提取元素的绝佳工具。网上的例子虽然不错,但大多是展示如何操作XML文档。如何使用Nokogiri从HTML中提取链接和链接文本? 最佳答案 这是一个最初为响应Gettingattribute'svalueinNokogiritoextractlinkURLs而编写的小示例,以社区Wiki样式在此处提取,以便于引用。以下是您在解析HTTP链接时可能会执行的一些常

ruby-on-rails - NameError: 未初始化的常量::Nokogiri

我为模型编写了测试:describeVideododescribe'searchingyoutubeforvideoexistence'doit'shouldreturntrueifvideoexists'doVideo.video_exists?("http://www.youtube.com/watch?v=KgfdlZuVz7I").shouldbe_trueendendend模型代码如下:classVideo但它失败并出现错误:Failures:1)Videosearchingyoutubeforvideoexistenceshouldreturntrueifvideoexis

javascript - Nokogiri 可以解释 javascript 吗? - 网页抓取

我们正在尝试抓取此页面上的可用性:http://www.equityapartments.com/new-york/new-york-city-apartments/midtown-west/mantena-apartments.aspx我需要使用我的蜘蛛程序来选择“所有楼层平面图”并获取所有可用性。但我相信数据实际上是通过Javascript请求发送的。我的Nokogiri蜘蛛有没有办法渲染它?或者模拟点击按钮的过程? 最佳答案 Nokogiri只是一个parser.它还允许搜索内容。要与网页交互,您需要使用其他东西,例如Wati

ruby-on-rails - Nokogiri:选择元素 A 和 B 之间的内容

让Nokogiri选择开始和停止元素(包括开始/停止元素)之间的所有内容的最聪明的方法是什么?查看下面的示例代码以了解我在寻找什么:require'rubygems'require'nokogiri'value=Nokogiri::HTML.parse(AFooBCBarDEFFG"HTML_ENDparent=value.css('body').first#STARTelement@start_element=parent.at('p#para-3')#STOPelement@end_element=parent.at('p#para-7')结果(返回值)应该是这样的:CBarDEF

ruby - 如何从 Nokogiri::XML::NodeSet 获取输入值?

我正在使用Nokogiri的xpath方法寻找我的input元素。它返回类Nokogiri::XML::NodeSet的对象:[#,#,#,#,#]>有没有比使用to_s转换它更快更简洁的方法来获取input的值:""并用正则表达式匹配? 最佳答案 一些事情会有所帮助:Nokogiri有at方法,它等同于search(...).first,并且它不返回NodeSet,而是返回Node本身,使得从中获取值变得容易:require'nokogiri'doc=Nokogiri::HTML('')doc.at('input')['value

ruby - 使用 native 扩展安装 nokogiri ruby​​ gem

我想安装一个试图构建native扩展的ruby​​gem。这种情况下的gem是nokogiri。如果我执行geminstallnokogiri,则native扩展动态链接到libxml、libxslt库。我想静态链接那些库。我该怎么办? 最佳答案 这里有一些建议,但这并不容易,除非nokogiri包含构建标志来支持它:如果nokogiri支持,你可以像这样传递构建参数来安装gemgeminstallnokogiri----with-static-libxml如果没有内置支持,您可以尝试调整用于安装gem的链接标志:geminstal

ruby-on-rails - 由于缺少 native 扩展,安装时出现 Nokogiri 错误

我一直在尝试安装基于theseinstructions的RubyonRails。但是,运行geminstallrails-v4.2.4时出现以下错误:Fetching:rack-1.6.4.gem(100%)Successfullyinstalledrack-1.6.4Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingrails:ERROR:Failedtobuildgemnativeextension./home/falak/.rvm/rubies/ruby-2.2.3/bin/ruby-r./si

ruby - Nokogiri 安装失败 : iconv doesn't work [osx]

我在安装Nokogiri时遇到问题。我读了installmanual并按照说明进行操作。我已经安装了所有依赖项。libxml2和libxslt工作正常,但libiconv有一些问题。我在这里阅读了一些问题,安装并重新安装了libiconv并使用了一些不同的版本,但没有任何帮助。sudogeminstallnokogiri----with-xml2-include=/usr/local/Cellar/libxml2/2.9.1/include/libxml2--with-xml2-lib=/usr/local/Cellar/libxml2/lib--with-xslt-dir=/usr/