我一直在試圖抓取教育信息網站以保存到我的應用程序數據庫。該網站有三列表如下:用Nokogiri刮掉HTML表並保存到數據庫
<thead>
<tr height="20">
<th height="20" scope="col" width="91">UKPRN</th>
<th scope="col" width="87">INSTID</th>
<th scope="col" width="264">Name</th>
</tr>
</thead>
<tbody>
<tr height="20">
<td height="20">10000291</td>
<td>0047</td>
<td>Anglia Ruskin University</td>
</tr>
<tr height="20">
<td height="20">10007759</td>
<td>0108</td>
<td>Aston University</td>
</tr>
<tr height="20">
<td height="20">10000571</td>
<td>0048</td>
<td>Bath Spa University</td>
</tr>
<tr height="20">
<td height="20">10007850</td>
<td>0109</td>
<td>The University of Bath</td>
</tr>
<tr height="20">
<td height="20">10007152</td>
<td>0026</td>
<td>University of Bedfordshire</td>
</tr>
<tr height="20">
<td height="20">10007760</td>
<td>0127</td>
<td>Birkbeck College</td>
</tr>
<tr height="20">
<td height="20">10007140</td>
<td>0052</td>
<td>Birmingham City University</td>
</tr>
<tr height="20">
<td height="20">10006840</td>
<td>0110</td>
<td>The University of Birmingham</td>
</tr>
等等。我想分別在UKPRN,instid和name下獲得8位數字參考,4位數字參考和學校名稱保存到我的數據庫。
這是頁面上唯一的表格,所以很容易抓取。到目前爲止,我在IRB看起來像這樣的代碼:
require 'nokogiri'
require 'open-uri'
page = Nokogiri::HTML(open(url))
rows = data.css("tr")
rows.each do |row|
name = row.css("td")[2]
ukprn = row.css("td")[0]
instid = row.css("td")[1]
end
這似乎好的工作,當我打印它似乎拿起正確的數據的變量之一,但我不能讓周圍去掉標籤文本,一旦完成,我不知道如何將這些數據保存到我的institute
模型在數據庫中。這些屬性應該與上面給出的名稱相關聯。任何幫助表示讚賞。
我得到'未初始化常量Institute'。有沒有辦法將irb連接到我錯過的應用程序? –
是的,你不應該使用irb,但軌道控制檯 – Ursus
D'oh!我用Rails已經有一段時間了!作品一種享受。謝謝。 –