Сделать по запросу на каждую ссылку асинхронно (в пределах разумного, чтобы не было миллион запущенных запросов).
Например запустил 100 запросов - когда какойто из них завершится - делаешь ещё запрос
Для этого можно использовать libuv https://gist.github.com/adityapurwa/f0d885d28014d5...