проблема с nokogiri doc.xpath () - PullRequest
       16

проблема с nokogiri doc.xpath ()

2 голосов
/ 28 ноября 2009

при просмотре множества веб-страниц и вызове чего-то простого, как показано ниже

manyhtmlpages.each do |page|

doc = Nokogiri::HTML(page) 

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

end

Я заметил, что потребление памяти постоянно увеличивается, пока сценарий не завершится из-за нехватки памяти.

когда я удаляю бит doc.xpath, эта ошибка выше не возникает.

1 Ответ

0 голосов
/ 28 ноября 2009

Я думаю, что корень проблемы заключается в том, что код не является сборщиком мусора, пока и страница, и документ не покинут область действия (поправьте меня, если я ошибаюсь).

Подобная проблема описана здесь .
Это проблема с libxml-ruby, но насколько я знаю, nokogiri на самом деле основывается на libxml.

Извините, но я не знаю точных подробностей об этой проблеме. Это просто чтобы указать вам правильное направление.

...