【发布时间】:2022-01-02 13:44:08
【问题描述】:
尝试使用 mechanize gem 从https://en.wikipedia.org/ 网站抓取图像。当我尝试计算图像大小时,我得到了Mechanize::ResponseCodeError (404 => Net::HTTPNotFound for https://upload.wikimedia.org/wikipedia/commons/thumb/f/f5/FP2A3620_%252823497688248%2529.jpg/119px-FP2A3620_%252823497688248%2529.jpg -- unhandled response):。
这是我的代码
def images
agent = Mechanize.new
page = agent.get("https://en.wikipedia.org/")
page.images.each do |image|
puts image.url
size = agent.head( image )["content-length"].to_i/1000
end
end
感谢任何帮助。
【问题讨论】:
-
我无法通过浏览器访问该网址,您确定它有效吗?
-
是的
https://en.wikipedia.org/这是一个有效的 URL -
我说的是您提供的
https://upload.wikimedia.org/wikipedia/commons/thumb/f/f5/FP2A3620_%252823497688248%2529.jpg/119px-FP2A3620_%252823497688248%2529.jpg,该页面的状态码是404,这就是您无法解析它的原因。用浏览器打开网址。 -
@zhisme 是的,但我们必须在抓取时修复这类 url 错误。
标签: ruby web-scraping mechanize