我有一个进行网页抓取的模块。我多次使用这种方法,因为它捕获了网页上的所有数据。
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)
},