سؤال

وعندما حلقات من خلال العديد من صفحات الويب والدعوة شيء بسيط مثل أدناه

manyhtmlpages.each do |page|

doc = Nokogiri::HTML(page) 

puts doc.xpath("/html/body/h2[1]","/html/body/a[1]").to_s

end

وأنا نلاحظ أن استهلاك الذاكرة يذهب باستمرار حتى إنهاء النصي بسبب نفاد الذاكرة.

وعندما إزالة بت doc.xpath، هذا الخطأ أعلاه لا من ذوي الخبرة.

هل كانت مفيدة؟

المحلول

وأعتقد أن جذر المشكلة يكمن في أن الرمز لا القمامة التي تم جمعها حتى كلا الصفحة وثيقة يترك النطاق (تصحيح لي إذا كنت مخطئا).

ويوصف مشكلة مشابهة هنا .
هذه هي مشكلة مع libxml روبي، ولكن بقدر ما أعرف، nokogiri بناء الواقع على libxml.

وأنا آسف، ولكن لا أعرف التفاصيل الدقيقة حول هذه المشكلة. انها مجرد لتوجيهك في الاتجاه الصحيح.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top