我正在尝试学习如何通过屏幕抓取获取数据,然后将其保存到模型中。到目前为止,我可以获取数据。我这样说,好像我这样做:
puts home_team
我让所有的主队回归
get_match.rb #抓取数据
require 'open-uri'
require 'nokogiri'
module MatchGrabber::GetMatch
FIXTURE_URL = "http://www.bbc.co.uk/sport/football/premier-league/fixtures"
def get_fixtures
doc = Nokogiri::HTML(open(FIXTURE_URL))
home_team = doc.css(".team-home.teams").text
end
end
然后我想更新我的模型
match_fixtures.rb
module MatchFixtures
class MatchFixtures
include MatchGrabber::GetMatch
def perform
update_fixtures
end
private
def update_fixtures
Fixture.destroy_all
fixtures = get_fixtures
end
def update_db(matches)
matches.each do |match|
fixture = Fixture.new(
home_team: match.first
)
fixture.save
end
end
end
end
所以下一步就是我卡住的地方。首先,我需要将 home_team 结果放入一个数组中?
第二部分是我通过我的 update_db 方法传递匹配,但这不正确,我在这里传递什么,我的 update_fixtures 方法或方法本身的 home_team 的结果?
要运行我执行的任务:
namespace :grab do
task :fixtures => :environment do
MatchFixtures::MatchFixtures.new.perform
end
end
但什么都没有得救,但这是意料之中的。
这里有陡峭的学习曲线,希望能朝着正确的方向前进。