在 404 中抓取 Coursera 结果

Scraping Coursera results in 404

为什么以下会导致 404?

require 'rubygems'
require 'capybara'
require 'capybara/dsl'
require 'capybara/poltergeist'

class CourseraScraper
  include Capybara::DSL

  def initialize
    Capybara.default_driver = :poltergeist
    Capybara.run_server = false
    Capybara.app_host = "https://www.coursera.org/"


    visit '/'

    save_and_open_page
  end

end

CourseraScraper.new

我想知道如果您没有正确的引荐数据,是否会实施重定向。当我 运行 你的代码时,我在被带到 404 之前简要地看到了网站加载。

如果我访问了一个错误的 url,我根本不会收到 404 页面,而是一条消息说 "Sorry, the class you were looking for cannot be found. Please check your URL and try again."

https://www.coursera.org/badurl

在将页面保存到文件然后在浏览器中打开之前,您不会收到 404,并且据推测,这是由某些 JS 从错误的引荐来源加载或由于以下原因而未加载引起的推荐人。

您可以通过将 assert_text("Take the world's best courses, online.") 添加到测试的底部来看到这一点 - 这很好地通过了,因为 poltergeist 正在使用正常的 coursera.org 页面