我构建了一个抓取工具,将所有信息从 Wikipedia 表中提取出来,并将其上传到我的数据库中。一切都很好,直到我意识到我在图像上拉错了 URL,我想要实际的图像 URL“ http://upload.wikimedia.org/wikipedia/commons/thumb/3/38/Baconbutty.jpg ”而不是“/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
条目。
有什么建议么?