Исходя из предположения, что это однократный проект, и, поскольку вы новичок в других технологиях, я бы предложил следующее:
Вместо того, чтобы пытаться загрузить все 3000 изображений в одном веб-запросе, сделайте одно изображение на запрос. Когда загрузка изображения завершена, перенаправьте на ту же страницу, передав URL следующего изображения, чтобы получить в качестве параметра строки запроса. Загрузите его и повторяйте до тех пор, пока не будут загружены все изображения.
Не то, что я бы назвал «производственным» решением, но если мое предположение верное, то это решение, которое поможет вам быстро запустить.
Другим довольно простым решением было бы создать простое консольное приложение C #, которое использует WebClient для загрузки каждого из изображений. Следующий код псевдо должен дать вам достаточно для начала:
List<string> imageUrls = new List<string>();
imageUrls.Add(..... your urls from wherever .....)
foreach(string imageUrl in imagesUrls)
{
using (WebClient client = new WebClient())
{
byte[] raw = client.DownloadData(imageUrl);
.. write raw .. to file
}
}