我需要抓取大约70K个小的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
等
答案 0 :(得分:1)
一个简单的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
的内容直接写入DB而不是首先写入文件来跳过将它们存储在本地的步骤。