В настоящее время я использую сервис, который предоставляет простой в использовании API для настройки веб-скребок для извлечения данных. Извлечение довольно просто: захватите заголовок (как текст, так и гиперссылку) и два других текстовых атрибута из каждого элемента в списке элементов, которые различаются по длине со страницы на страницу, с максимальной длиной 30 элементов.Ограничения производительности Scrapy (и других решений для очистки/извлечения ненужных сервисов)
Служба выполняет эту функцию хорошо, однако скорость несколько медленная со скоростью около 300 страниц в час. В настоящее время я очищаю до 150 000 страниц данных, чувствительных к времени (я должен использовать данные в течение нескольких дней или он станет «устаревшим»), и я предсказываю, что число будет расти в несколько раз. Мое обходное решение - клонировать эти скребки десятки раз и запускать их одновременно на небольших наборах URL-адресов, но это усложняет процесс.
Мой вопрос заключается в том, будет ли писать собственный скребок с помощью Scrapy (или какого-либо другого решения) и запускать его с моего собственного компьютера, чтобы достичь большей производительности, чем это, или же эта величина просто не входит в объем таких решений, как Scrapy, Selenium , и т. д. на одном хорошо оборудованном домашнем компьютере (подключенном к 80-мегабайтному, 8-мибитному соединению).
Спасибо!
Большую часть времени занимает сетевая латентность, что-то, что вы можете обойти с помощью многопоточности/нескольких процессов. Селен всегда будет медленнее, потому что он загружает дополнительные активы. – pguardiario
Scrapy использует Twisted для асинхронной работы и может достигать гораздо больших скоростей, чем 300 запросов в час. Я ожидал бы> 10 тыс. В час. Обязательно следите за запретами. – bosnjak