Ich habe ein einfaches Screen Scraping Skript geschrieben und am Ende des Skripts versuche ich ein Array von Arrays in Vorbereitung für eine ActiveCord einfügen. Die Struktur I zu erreichen versuchen, ist wie folgt:Ruby Script zum Erstellen eines Array von Arrays
Array b hält eine Reihe von 10-Element-Arrays
b = [[0,1,2,3,4,5,6,7,8,9],[0,1,2,3,4,5,6,7,8,9],[0,1,2,3,4,5,6,7,8,9]]
Zeit, wenn ich versuche Array auszudrucken b das Array leer ist. Ich bin immer noch relativ neu in Sachen Ruby und Programmierung und würde mich über jede Rückmeldung freuen, wie man Werte in Array b erhält und das Gesamt-Skript verbessert. Skript folgt:
require "rubygems"
require "celerity"
t = 0
r = 0
c = 0
a = Array.new(10)
b = Array.new
#initialize Browser
browser = Celerity::IE.new
#goto Login Page
browser.goto('http://www1.drf.com/drfLogin.do?type=membership')
#input UserId and Password
browser.text_field(:name, 'p_full_name').value = 'username'
browser.text_field(:name, 'p_password').value = 'password'
browser.button(:index, 2).click
#goto DRF Frontpage
browser.goto('http://www.drf.com/frontpage')
#goto DRF Entries
browser.goto('http://www1.drf.com/static/indexMenus/eindex.html')
#click the link to access the entries
browser.link(:text, '09').click
browser.tables.each do |table|
t = t + 1
browser.table(:index, t).rows.each do |row|
r = r + 1
browser.table(:index, t).row(:index, r).cells.each do |cell|
a << cell.text
end
b << a
a.clear
end
r = 0
end
puts b
browser.close
Beachten Sie, dass Sie, anstatt den Großteil des Skripts zu veröffentlichen, die Zeilen, die sich mit 'browser' befassen, leicht ersetzen können, wodurch ein kleineres, eigenständigeres Beispiel entsteht (http://sscce.org/). Das Beispiel ist ohne Benutzernamen und Kennwort nicht ausführbar, und mindestens die Hälfte des Codes ist zumindest für diese Frage irrelevant. – outis