Ruby on rails RubyonRails使用API从Amazon购买物品?
我想通过编程自动从我的rails应用程序在Amazon上进行购买,因为我必须每周手动进行相同的购买。这将使用我自己的账单信息/帐户,而不是代表用户 我搜索了他们的大多数API,发现你可以搜索一个项目,将其添加到购物车中,等等。但我似乎找不到一种实际购买的方法 有人知道通过API实现这一点的方法吗?自动化我们的手工流程会很好。似乎这应该是可能的,因为似乎有助于实现这一点。你可以这样做,只要。相反,请使用: 机械化 如中所述: Mechanize库用于自动化与网站的交互。Mechanize自动存储和发送cookie,跟踪重定向,并可以跟踪链接和提交表单。可以填充和提交表单字段 您可以编写一个高级web爬虫程序Ruby on rails RubyonRails使用API从Amazon购买物品?,ruby-on-rails,amazon,Ruby On Rails,Amazon,我想通过编程自动从我的rails应用程序在Amazon上进行购买,因为我必须每周手动进行相同的购买。这将使用我自己的账单信息/帐户,而不是代表用户 我搜索了他们的大多数API,发现你可以搜索一个项目,将其添加到购物车中,等等。但我似乎找不到一种实际购买的方法 有人知道通过API实现这一点的方法吗?自动化我们的手工流程会很好。似乎这应该是可能的,因为似乎有助于实现这一点。你可以这样做,只要。相反,请使用: 机械化 如中所述: Mechanize库用于自动化与网站的交互。Mechanize自动存储和
- 让你登录亚马逊
- 将所需物品添加到购物篮中
- 签出并支付您想要的物品
class AmazonCrawler
attr_accessor :agent
def initialize
@agent = Mechanize.new
end
def login
agent.get(LOGIN_PATH)
# fill in and submit the form
end
def add_item_to_basket
agent.get(ITEM_PATH)
# find 'add to basket', etc...
end
def checkout
agent.get(CHECKOUT_PATH)
# validate adress, payment and place the order
end
def place_weekly_order
AmazonCrawler.login
AmazonCrawler.add_item_to_basket
AmazonCrawler.checkout
end
end
这样,如果以后需要,您可以轻松添加其他任务
2。添加Cronjob
要设置您的每周时间表,我建议使用。这个gem使得调度任务变得容易
附表1.rb
旁注
理想情况下,我会建立一个特定的亚马逊帐户,只做这一点。您不希望机器人结帐您个人在一周内添加的项目,并且可能还不确定是否要购买
另外,请确保将凭据存储在ENV变量中,以便它们不会在代码中公开
结论
我希望这能让你走上正轨,会有很多新东西需要你学习,但这实际上是一项有趣的任务,当你的小爬虫启动并运行时,它会非常有价值。我相信实现这一点的唯一方法是绘制出亚马逊的私有API,例如亚马逊应用程序使用的API。不过,我相信这是违反他们的TOS的。据我所知,没有办法正式这么做。看来这几周会很有趣!感谢您提供的详细示例和建议!
every :sunday, :at => '12pm' do
runner "AmazonCrawler.place_weekly_order"
end