ウェブスクレイピングを行うモジュールがあります。この方法は、Webページ上のすべてのデータをキャプチャするため、何度も使用します。
def page_as_xml(uri)
@page_as_xml ||= Nokogiri::HTML(open(uri))
end
上記のメソッドをページごとに数回使用するので、インスタンス変数に保持するのが理にかなっています。ただし、完了後にインスタンス変数を「空にする」にはどうすればよいですか?
すべてのwebcsrapingはハッシュになります(以下を参照)。インスタンス変数を「空にしない」と、各ページで同じpage_as_xmlデータが使用されます。
:page1 =>
{
:url => @page1,
:title => download_title(@page1),
:meta_tags => download_robots_tags(@page1)
},
:page2 =>
{
:url => @page2,
:title => download_title(@page2),
:meta_tags => download_robots_tags(@page2)
},
:page3 =>
{
:url => @page3,
:title => download_title(@page3),
:meta_tags => download_robots_tags(@page3)
},