0

ウィキペディアのテーブルからすべての情報を引き出してデータベースにアップロードするスクレーパーを作成しました。画像に間違った URL を引っ張っていることに気付くまで、すべてがうまくいってました。 「/wiki/File:Baconbutty.jpg」をくれてガチでした。これまでの私のコードは次のとおりです。

def initialize
  @url = "http://en.wikipedia.org/wiki/List_of_sandwiches"
  @nodes = Nokogiri::HTML(open(@url))  
end

def summary

  sammich_data = @nodes

  sammiches = sammich_data.css('div.mw-content-ltr table.wikitable tr') 
    sammich_data.search('sup').remove

    sammich_hashes = sammiches.map {|x| 

      if content = x.css('td')[0]
        name = content.text
      end
      if content = x.css('td a.image').map {|link| link ['href']}
        image =content[0]
      end
      if content = x.css('td')[2]
        origin = content.text
      end
      if content = x.css('td')[3]
        description =content.text
      end

私の問題はこの行にあります:

if content = x.css('td a.image').map {|link| link ['href']}
            image =content[0]

に行くとtd a.image imgnullエントリが表示されます。

助言がありますか?

4

2 に答える 2