Vazamento de memória Dryscrape / webkit_server

Estou usando dryscrape / webkit_server para raspar sites habilitados para javascript.

O uso de memória do processo webkit_server parece aumentar a cada chamada para session.visit (). Isso acontece comigo usando o seguinte script:

import dryscrape

for url in urls: 
    session = dryscrape.Session()
    session.set_timeout(10)
    session.set_attribute('auto_load_images', False)
    session.visit(url)
    response = session.body()

Estou iterando por aprox. 300 urls e após 70-80 urls, o webkit_server ocupa cerca de 3 GB de memória. No entanto, não é realmente a memória que é o problema para mim, mas parece que o dryscrape / webkit_server está ficando mais lento a cada iteração. Após as referidas 70-80 iterações, o dryscrape é tão lento que gera um erro de tempo limite (tempo limite definido = 10 s) e eu preciso anular o script python. Reiniciar o webkit_server (por exemplo, após cada 30 iterações) pode ajudar e esvaziar a memória, no entanto, não tenho certeza se os 'vazamentos de memória' são realmente responsáveis pela raspagem a seco cada vez mais lenta.

Alguém sabe como reiniciar o webkit_server para que eu possa testar isso?

Não encontrei uma solução aceitável para esse problema, mas também não quero mudar para outra solução (selenium / phantomjs, ghost.py), pois simplesmente amo o dryscrape por sua simplicidade. Dryscrape está funcionando muito bem. se não houver iteração em muitos URLs em uma sessão.

Esta questão também é discutida aqui

https://github.com/niklasb/dryscrape/issues/41

e aqui

O Webkit_server (chamado de dryscrape do python) usa cada vez mais memória a cada página visitada. Como reduzo a memória usada?

questionAnswers(3)

yourAnswerToTheQuestion