Tag: 刮刀

FF Xpather到Nokogiri – 我可以复制和粘贴吗?

我手动这样做,然后我卡住了,我无法弄清楚为什么它不起作用。 我下载了xpather,它给了我:/ html / body / center / table / tbody / tr [3] / td / table作为我想要的项目的路径。 我已经手动确认这是正确的,但是当我将其粘贴到我的代码中时,它所做的只是返回nil 这是我的代码: a = parentdoc.at_xpath(“//html/body/center/table/tbody/tr[3]/td/table[1]”) puts a 如果我做这样的事情: a = parentdoc.at_xpath(“//html/body/center”) puts a 我从页面上获得了大量文本。 我可以继续添加元素,直到我点击tbody然后再次返回nil。 我甚至尝试过类似的东西:// html / body / center / table / * / tr [3]并返回nil做同样的事情 我错过了什么?

Ruby刮刀。 如何导出到CSV?

我写了这个ruby脚本来从制造商网站上搜集产品信息。 在数组中抓取和存储产品对象有效,但我无法弄清楚如何将数组数据导出到csv文件。 抛出此错误:scraper.rb:45:main:Object的未定义方法`send_data’(NoMethodError) 我不明白这段代码。 这是做什么的,为什么它不正常? send_data csv_data, :type => ‘text/csv; charset=iso-8859-1; header=present’, :disposition => “attachment; filename=products.csv” 完整代码: #!/usr/bin/ruby require ‘rubygems’ require ‘anemone’ require ‘fastercsv’ productsArray = Array.new class Product attr_accessor :name, :sku, :desc end # Scraper Code Anemone.crawl(“http://retail.pelicanbayltd.com/”) do |anemone| anemone.on_every_page do |page| currentPage = Product.new #Product info parsing currentPage.name = page.doc.css(“.page_headers”).text currentPage.sku = page.doc.css(“tr:nth-child(2) […]