Мне нужно взять около 70К небольших файлов json для хранения в БД. Имена файлов json пронумерованы от 1 до 70 000. Как лучше всего их всех схватить?
Вот как структурированы файлы.
domain.com/go.php?file=user/stats.json&id=1
domain.com/go.php?file=user/stats.json&id=2
domain.com/go.php?file=user/stats.json&id=3
domain.com/go.php?file=user/stats.json&id=4
и т.д
Я хотел бы скачать их через банкомат, но со временем мне придется добавить их в базу данных. Я пока не уверен, какая БД лучше всего подойдет для этой задачи, но доступ к ним будет осуществляться через php. БД - это то, что мне еще предстоит исследовать, чтобы выбрать, что было бы лучше всего. Спасибо






Простая однострочная программа bash для загрузки всех файлов:
for i in $(seq 1 70000); do wget "domain.com/go.php?file=user/stats.json&id=${i}" -o "${i}.json"; done
Если вам требуется загрузить их с помощью PHP, то должно сработать что-то вроде этого (я не использую PHP, поэтому я не уверен на 100%: исправления приветствуются):
for ($x = 1; $x <= 70000; $x++) {
file_put_contents("{$i}.json", fopen("domain.com/go.php?file=user/stats.json&id = {$i}", 'r'));
}
Позже вы можете пропустить этап их локального хранения, записав содержимое удаленного файла JSON (из fopen) напрямую в БД, а не в файл сначала.
Замечательно, не знаю, почему я не подумал о сценарии bash, он отлично работает. Я также пробую подход php, чтобы посмотреть, как он будет работать с таким количеством файлов, но ничего не получил. Я уменьшил число 70000 до 50 для тестирования, и он загрузился в течение нескольких секунд, но ничего. Меня интересует часть о прямом хранении в базе данных, однако я еще не знаю, какую базу данных мне следует использовать, и каков самый простой способ подойти к этому. Есть какие-нибудь рекомендации? Спасибо!
@stoggafu Боюсь, что я не тестировал подход PHP. Вероятно, он будет загружать файлы в корневую папку вашего веб-сайта, убедитесь, что вы немного поискали. О том, какую базу данных использовать, это не относится к теме StackOverflow (запрашиваются внешние ресурсы). Просто выберите один и бегите с ним, в долгосрочной перспективе это не будет иметь никакого значения.
Вы хотите сделать это с помощью инструментов командной строки Linux? Python? C++? Вы просто хотите их загрузить или хотите добавить их в базу данных? Пожалуйста, добавьте дополнительную информацию к вашему вопросу и добавьте соответствующие теги, чтобы указать язык, который вы используете / хотите использовать.