Нашел хороший web-crawler - scarpy, только он используется в качестве демона, как я понял, и сохраняет результаты в файлы.
Читал доки, не нашел подсказок.
Цель парсинга такая - пользователь передает url, я через python делаю манипуляции и отправляю этот url scrapy для обработки, получаю ответ и отдаю пользователю.
То есть убрать ненужную цепочку с запуском процесса и выводом в файл, запрос-ответ в коде python.
В итоге после парсинга читаю и удаляю файл.
Использую многопоточность + hash генерацию названия файлов, чтобы уж точно без конфликтов.
Если интересно подробнее - пишите