您可以这样做,只需 not via the API。相反,使用:
机械化
正如their docs 中所描述的那样:
Mechanize 库用于自动与网站交互。 Mechanize 自动存储和发送 cookie,跟踪重定向,并且可以跟踪链接和提交表单。可以填充和提交表单字段。
您可以编写一个高级网络爬虫程序
- 让您登录亚马逊
- 将您想要的物品添加到购物篮中
- 结帐并支付您想要的物品
如何设置
我将提出一些逻辑并粗略描述该过程。详细解释所有内容超出了问题的范围。为大量挖掘做好准备。
1.添加您的抓取工具
深入了解机械化。了解如何登录您的网站、搜索链接、按下按钮以及所有这些简洁的东西。它建立在使用 CSS 选择器的Nokogiri 之上。可能需要一段时间才能掌握,但值得付出汗水!
此外,将单个任务的逻辑拆分为不同的方法。类似的东西
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
要设置您的每周计划,我建议使用whenever gem。这个 gem 让调度任务变得轻松简单
schedule.rb
every :sunday, :at => '12pm' do
runner "AmazonCrawler.place_weekly_order"
end
旁注
理想情况下,我会设置一个特定的亚马逊账户,只做这个。您不希望机器人结帐您在一周内亲自添加的物品,并且可能还不确定是否要购买。
此外,请务必将您的凭据存储在 ENV 变量中,这样它们就不会暴露在您的代码中。
结论
我希望这能让你继续前进,你会学到很多新东西,但这实际上是一项有趣的任务,当你的小爬虫启动并运行时会非常有益。