Poltergeist - замечательный Ruby Gem, который является оберткой для headless браузера PhantomJS. Он позволяет пользоваться этим браузером через Capybara - средство эмуляции пользователя в сети интернет.
Я использую poltergeist для парсинга динамических интернет сайтов. Этот браузер построен движке webkit и позволяет исполнять javascript, в отличие от стандартного браузера капибары.
При длительной работе с ним может возникнуть ошибка: Can not allocate memory - phantomjs. Это происходит из-за того, что он не может автоматически освободить память от сессий, которые уже не используются. Чтобы это предотвратить, используйте метод quit у драйвере сессии, чтобы освободить память:
session.driver.quit
Если по каким-либо причинам это не заработало, создайте файл config/initializers/poltergeist.rb и добавьте в него следующее содержимое:
https://gist.github.com/jonstokes/04b10617a497ec2cc8a8
Это позволит насильно убивать процесс браузера в системе, что поможет освободить неиспользуемую память.
Я использую poltergeist для парсинга динамических интернет сайтов. Этот браузер построен движке webkit и позволяет исполнять javascript, в отличие от стандартного браузера капибары.
При длительной работе с ним может возникнуть ошибка: Can not allocate memory - phantomjs. Это происходит из-за того, что он не может автоматически освободить память от сессий, которые уже не используются. Чтобы это предотвратить, используйте метод quit у драйвере сессии, чтобы освободить память:
session.driver.quit
Если по каким-либо причинам это не заработало, создайте файл config/initializers/poltergeist.rb и добавьте в него следующее содержимое:
https://gist.github.com/jonstokes/04b10617a497ec2cc8a8
Это позволит насильно убивать процесс браузера в системе, что поможет освободить неиспользуемую память.