totalCount=10582 11.01.2025 tarihinde alınmıştır.
#!/bin/bash
# Toplam kayıt sayısı ve sayfa başına kayıt sayısı
totalCount=10582
perPage=20
totalPages=$(( (totalCount + perPage - 1) / perPage ))
# Çıktı dosyası
outputFile="all_data.json"
# JSON array başlangıcı
echo "[" > "$outputFile"
# Her sayfayı çek ve JSON'a ekle
for ((page=1; page/dev/null; then
if [[ -n "$response" && "$response" != "[]" ]]; then
echo "$response" | jq -c '.[]' >> "$outputFile"
success=1
break
else
echo "Empty JSON response for page $page. Retrying ($((retryCount + 1))/$maxRetries)..."
retryCount=$((retryCount + 1))
sleep 3 # 3 saniye bekle ve tekrar dene
fi
else
echo "Invalid JSON response for page $page: $response. Retrying ($((retryCount + 1))/$maxRetries)..."
retryCount=$((retryCount + 1))
sleep 3 # 3 saniye bekle ve tekrar dene
fi
done
# Başarısız olursa, hata mesajı yaz ve devam et
if [ $success -eq 0 ]; then
echo "Failed to fetch page $page after $maxRetries attempts. Skipping..."
fi
# Son sayfa değilse, JSON array'e virgül ekle
if [ $page -ne $totalPages ]; then
echo "," >> "$outputFile"
fi
# Her 100 sayfada 1 ms bekle
if (( page % 100 == 0 )); then
sleep 0.001
fi
done
# JSON array sonu
echo "]" >> "$outputFile"
echo "All data has been saved to $outputFile"
Page-page veri çektiğim için bazı atıkları kaldırmak lazım Colab’ta işleme kolayıma geldi:/
# Dosyayı oku ve veriyi ayrıştır
def read_and_combine_json(file_path):
combined_data = []
with open(file_path, "r", encoding="utf-8") as file:
for line in file:
line = line.strip()
if line.startswith("[") and line.endswith("]"): # JSON formatındaki satırları bul
try:
data = json.loads(line) # JSON satırını ayrıştır
combined_data.extend(data) # Veriyi birleştir
except json.JSONDecodeError as e:
print(f"JSON ayrıştırma hatası: {e}")
return combined_data
# JSON verisini dosyaya kaydet
def save_json(data, output_file):
with open(output_file, "w", encoding="utf-8") as file:
json.dump(data, file, indent=4, ensure_ascii=False)
print(f"JSON verisi {output_file} dosyasına kaydedildi.")
# Dosya yolu
input_file = "USOM_110125.json"
output_file = "combined_USOM_110125.json"
# JSON verisini oku ve birleştir
combined_data = read_and_combine_json(input_file)
# Birleştirilmiş JSON verisini kaydet
save_json(combined_data, output_file)