0

我正在使用允许 https 重定向的open-uri模块。

我想要做的是打开域中的每个页面。我首先通过海葵爬行来做到这一点:

require 'anemone'
require "./open_uri"

class Query
  def initialize()
    fs = File.read("file.json");
    string = JSON.parse(fs);
    string["items"].each do |item|
      Anemone.crawl("http://" + item["displayLink"] + "/") do |anemone|
        anemone.on_every_page do |page|
          #p page.url
          begin
            OpenURI.open_uri(page.url) do |f|
              f.each_line do |line|
                p line
              end
            end
          rescue                        
            p "404"
            next
          end
        end                 
      end
      p "---------------------------------------------------------"
    end
  end
end

qs = Query.new()

我正在尝试打开它,然后将每一行打印到控制台,但是看起来好像我的控制台中打印的所有内容都是 404。查看我的代码,这意味着 open_uri 无法打开任何链接,即使它们是有效的据我所知。

我在这里想念什么?

rescue Exception=> e
 p e
end

将以下内容打印到控制台:

#<OpenURI::HTTPError: 404 Not Found>
  • 更新

正如评论中所建议的,我尝试卷曲出现 404 错误的链接,并且输出中的控制台不返回 404 页面。我尝试了大约 40 个返回的链接,但在控制台中 curl 后没有一个返回 404。有什么想法吗?

4

0 回答 0