gpt4 book ai didi

ruby - 使用 Ruby 从 URL 中提取数据

转载 作者:太空宇宙 更新时间:2023-11-03 18:15:41 25 4
gpt4 key购买 nike

我是 ruby​​ 的新手,我正在尝试使用 Ruby 返回 ASIN 列表和相应的价格。我能够非常接近我需要的东西,但需要帮助来回答 2 个问题:

  1. 我怎样才能摆脱 ASIN 周围的 [['>\n"]](见下面的结果)
  2. 有没有比使用此正则表达式更简单的从 URL 中提取 ASIN 的方法?

非常感谢您的帮助!

这是我在终端中从当前代码中得到的:

[["B00EJDIG8M\n"]] - $7.00
[["B00KJ07SEM\n"]] - $26.99
[["B000FAR33M\n"]] - $119.00
[["B00LLMKPVK\n"]] - $22.99
[["B007NXPAQG\n"]] - $9.47
[["B004W5WAMU\n"]] - $22.43
[["B00LFUNGU0\n"]] - $17.99
[["B0052G14E8\n"]] - $54.99
[["B002MPLYEW\n"]] - $212.99
[["B00009W3G7\n"]] - $6.61
[["B000NCTOUM\n"]] - $3.04
[["B009SANIDO\n"]] - $12.29
[["B0052G51AQ\n"]] - $67.99
[["B003XEUEPQ\n"]] - $26.74
[["B00CYH9HRO\n"]] - $25.75
[["B00KV0SKQK\n"]] - $21.99
[["B009PCI2JU\n"]] - $56.66
[["B00LLM6ZFK\n"]] - $24.99
[["B004RQDY60\n"]] - $18.40
[["B000JLNBW4\n"]] - $49.14

代码如下:

require 'rubygems'
require 'nokogiri'
require 'open-uri'
PAGE_URL = "http://www.amazon.com/Best-Sellers-Appliances/zgbs/appliances/ref=zg_bs_nav_0"

page = Nokogiri::HTML(open(PAGE_URL))
page.css(".zg_itemWrapper").each do |item|
price = item.at_css(".zg_price .price").text
asin = item.at_css(".zg_title a")[:href].scan(/http:\/\/(?:www\.|)amazon\.com\/(?:gp\/product|[^\/]+\/dp|dp)\/([^\/]+)/)
puts "#{asin} - #{price}"
end

最佳答案

此时最简单的方法不是清理您的 Nokogiri 搜索,而是在插值期间清理您当前的 asin 值。例如:

puts "#{asin.flatten.pop.chomp} - #{price}"

关于ruby - 使用 Ruby 从 URL 中提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26622321/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com