在 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."
在将页面保存到文件然后在浏览器中打开之前,您不会收到 404,并且据推测,这是由某些 JS 从错误的引荐来源加载或由于以下原因而未加载引起的推荐人。
您可以通过将 assert_text("Take the world's best courses, online.")
添加到测试的底部来看到这一点 - 这很好地通过了,因为 poltergeist 正在使用正常的 coursera.org 页面
为什么以下会导致 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."
在将页面保存到文件然后在浏览器中打开之前,您不会收到 404,并且据推测,这是由某些 JS 从错误的引荐来源加载或由于以下原因而未加载引起的推荐人。
您可以通过将 assert_text("Take the world's best courses, online.")
添加到测试的底部来看到这一点 - 这很好地通过了,因为 poltergeist 正在使用正常的 coursera.org 页面