使用watir-webdriver时为什么会有一定数量的图像,但是当我使用常规浏览器时却没有?

时间:2015-01-03 23:29:36

标签: ruby selenium watir-webdriver

所以我使用watir-webdriver登录网站并使用以下设置下载图像。

  def initialize
    @profile = Selenium::WebDriver::Firefox::Profile.new
    @profile['browser.download.folderList'] = 2 # custom location
    download_directory = "#{Dir.pwd}"
    @profile['browser.download.dir'] = download_directory
    @profile['browser.helperApps.neverAsk.saveToDisk'] = "image/jpeg"
    @agent = Watir::Browser.new :firefox, profile: profile
  end

我注意到在通过watir登录,然后打开选项卡并导航到我想在cdn服务器上下载的图像后,我只能执行此操作3次才能获得403禁止会话错误浏览器由watir打开。当我使用我的浏览器并手动执行相同的操作时,我没有达到此限制。

1)当我打开它时,浏览器和cdn会做什么?当watir打开它时会导致此问题?

2)有办法吗?

1 个答案:

答案 0 :(得分:1)

听起来该网站正在嗅探连接/标头/访问率。我推荐了几件事:

  1. 阅读他们的服务条款和文档,看看他们是否有API,而不是抓取。如果他们有API,请使用它!刮擦他们的页面可能会为他们使用更多的CPU和网络时间,这可能会刺激提供商,因为它会花费额外的钱,导致他们禁止你。
  2. 如果他们没有这些,请联系他们并询问他们是否有刮刮指南。他们可能希望您将请求限制在一定数量/分钟或小时。
  3. 您希望使用他们的授权方式与他们合作,首先获取对他们数据的访问权限。如果他们没有API,那么请非常友好并节省您的抓取速度。如果不这样做,就会永久禁止您的知识产权。