ウィキペディアのテーブルからすべての情報を引き出してデータベースにアップロードするスクレーパーを作成しました。画像に間違った 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 img
、null
エントリが表示されます。
助言がありますか?