Tag: nokogiri

Nokogiri将值作为字符串返回,而不是数组

我正在使用Nokogiri运行一个脚本,它返回多个值。 我的印象(并由多个来源保证)结果应该是数组的forms。 相反,我得到一个丑陋的字符串。 这是代码 require ‘nokogiri’ require ‘open-uri’ require ‘spreadsheet’ profile_page_scraper = Nokogiri::HTML(open(‘http://www.crunchbase.com/company/facebook’)) puts profile_page_scraper.css(‘div.col1_content td.td_left’).text 哪个返回: PublicDateRaisedPost IPO ValuationWebsiteBlogTwitterCategoryEmployeesFoundedDescription 我知道我可以使用map来快速解决这个问题,但我很困惑为什么这不会返回一个数组。 从理论上讲,它应该返回这样的东西: [“Public”, “Date”, “Raised” … “Description”] 任何想法为什么这不起作用?

Nokogiri可以搜索“?xml-stylesheet”标签吗?

我需要解析XML样式表: 使用Nokogiri我试过: doc.search(“?xml-stylesheet”).first[‘href’] 但我得到错误: `on_error’: unexpected ‘?’ after ” (Nokogiri::CSS::SyntaxError)

如何用Nokogiri让空标签自动关闭?

我在ERB中创建了一个XML模板。 我在导出过程中用数据库中的数据填充它。 在某些情况下,有一个空值,在这种情况下,一个元素可能是空的,如下所示: 在这种情况下,接收导出的客户端希望将其转换为自闭合标记: 我正试图看看如何让Nokogiri这样做,但我还没有看到它。 有人知道如何使Nokogiri自动关闭空XML标签吗? 更新 正则表达式足以完成我上面指定的操作,但客户端现在还希望其子项全部为空的标记可以自动关闭。 所以这: ……也应该 我认为这需要使用Nokogiri。

如何在自定义Rails引擎gem中加载正确版本的动态库和gems(libxml,Nokogiri)?

我正在构建一个使用Nokogiri gem的rails引擎,我在MacOS 10.7和10.8中遇到了我的开发设置问题: 为了让Nokogiri在我的设置中正常工作,我更新了libxml和libxslt库: brew update brew install libxslt brew upgrade libxml2 gem uninstall nokogiri gem install nokogiri — –with-xml2-include=/usr/local/Cellar/libxml2/2.9.0/include/libxml2 –with-xml2-lib=/usr/local/Cellar/libxml2/2.9.0/lib –with-xslt-dir=/usr/local/Cellar/libxslt/1.1.28 如果我在“常规”rails应用程序中使用它,Nokogiri可以正常工作(将它包含在Gemfile中,运行bundle install)。 当我尝试从我正在构建并使用我的应用程序作为gem的Rails引擎中使用Nokogiri时出现问题。 在gemspec中: s.add_dependency ‘nokogiri’ # XML parsing 我还在Gem的Gemfile顶部尝试了以下内容: gem ‘nokogiri’ 当我启动一个使用我的Rails Engine gem的应用程序时,我收到以下警告: WARNING: Nokogiri was built against LibXML version 2.9.0, but has dynamically loaded 2.7.8 如何配置gem和/或bundler和/或Rails以使用正确版本的Nokogiri和libxml以及libxslt? 另外,这是nokogiri -v的输出 # Nokogiri […]

Nokogiri无法在OS X上安装

关于这个问题有很多post,但是,Nokogiri(版本1.6.x,1.7.x或1.8.x)无法在OS X上安装可能有几个原因。 相关文章: OS X 10.6安装Nokogiri 无法在Mac OS X 10.9 Maveriks上安装nokogiri 1.6.1

如何使用XPath访问在JavaScript中呈现的HTML元素?

如何使用XPath和Nokogiri获取具有特定类名的 ? 表是嵌套的,其中一些没有ID或类,所以我不能嵌套这样的东西: //table/tbody/tr/td 这是我到目前为止: doc = Nokogiri::HTML(open(“http://www.goalzz.com/default.aspx?c=8358″)) doc.xpath(‘//td[@class=”m_g”]’).each do |node| pp node.to_s end 有任何想法吗? 这个类名很少有 ,我想得到所有这些。

删除标记但保留文本

所以我在xml文件中有这个标签 Something 123 我想要的结果是使用Nokogiri并完全删除它的标签,因此它不再是可点击的链接,例如 Something 123 我的尝试: content = Nokogiri::XML.fragment(page_content) content.search(‘.//a’).remove 但这也删除了文本。 有关如何使用Nokogiri实现我想要的结果的任何建议?

使用Nokogiri解析大型XML

所以我试图使用Nokogiri解析400k +行XML文件。 XML文件具有以下基本格式: *** Repeated Many Times *** 166024 Multiple epiphyseal dysplasia, Al-Gazali type Macrocephaly/macrocrania/megalocephaly/megacephaly Very frequent *** Repeated Many Times *** 这是我创建的代码,用于解析每个DisorderSign id和名称并将其返回到数据库中: require ‘nokogiri’ sympFile = File.open(“Temp.xml”) @doc = Nokogiri::XML(sympFile) sympFile.close() symptomsList = [] @doc.xpath(“////DisorderSign”).each do |x| signId = x.at(‘ClinicalSign’).attribute(‘id’).text() name = x.at(‘ClinicalSign’).element_children().text() symptomsList.push([signId, name]) end symptomsList.each do |x| Symptom.where(:name => x[1], :signid […]

Ruby Nokogiri Javascript解析

我需要从一个网站解析一个数组。 我要解析的Javascript部分如下所示: _arPic[0] = “http://example.org/image1.jpg”; _arPic[1] = “http://example.org/image2.jpg”; _arPic[2] = “http://example.org/image3.jpg”; _arPic[3] = “http://example.org/image4.jpg”; _arPic[4] = “http://example.org/image5.jpg”; _arPic[5] = “http://example.org/image6.jpg”; 我通过类似的东西获得整个javascript: product_page = Nokogiri::HTML(open(full_url)) product_page.css(“div#main_column script”)[0] 有没有一种简单的方法来解析所有变量?

Nokogiri要求Ruby版本<2.3

我试图让Rails在Windows 10上运行。我正在使用Ruby 2.3.0和Rails 4.2.6,并暂时使用Nokogiri 1.6.3。 当我尝试运行rails new demo ,它会返回一个错误: An error occurred while installing nokogiri (1.6.7.2), and Bundler cannot continue. Make sure that `gem install nokogiri -v ‘1.6.7.2’` succeeds before bundling. 当我运行gem install nokogiri -v ‘1.6.7.2我得到: ERROR: Error installing nokogiri: nokogiri requires Ruby version = 1.9.2. 如何更新Nokogiri并让Rails工作?