curl ile veri indirme

Kabukta Veri İşleme

Susan Sun

Data Person

curl nedir?

curl:

  • Client for URLs ifadesinin kısaltmasıdır
  • Bir Unix komut satırı aracıdır
  • Sunucuya ve sunucudan veri aktarır
  • HTTP(S) siteleri ve FTP sunucularından veri indirmek için kullanılır
Kabukta Veri İşleme

curl Kurulumunu Kontrol Etme

curl kurulumunu denetleyin:

man curl

curl yüklü değilse, şunu görürsünüz:

curl command not found.

Tüm yönergeler için bkz. https://curl.haxx.se/download.html.

Kabukta Veri İşleme

curl Kılavuzuna Göz Atma

curl yüklüyse konsolunuz şöyle görünür:

Koyu bir Terminal penceresinde yazdırılmış gibi görünen curl el kitabının başlangıç ekran görüntüsü

Kabukta Veri İşleme

curl Kılavuzuna Göz Atma

Kaydırmak için Enter tuşuna basın.

Koyu bir Terminal penceresinde kısmen kaydırılmış curl el kitabı ekran görüntüsü

Çıkmak için q tuşuna basın.

Kabukta Veri İşleme

curl Sözdizimini Öğrenme

Temel curl sözdizimi:

curl [option flags] [URL]

URL zorunludur.

curl ayrıca HTTP, HTTPS, FTP ve SFTPyi destekler.

Tüm seçeneklerin listesi için:

curl --help
Kabukta Veri İşleme

Tek Dosya İndirme

Örnek:

Tek bir dosya şu adreste bulunur:

https://websitename.com/datafilename.txt

Dosyayı özgün adıyla kaydetmek için isteğe bağlı -O bayrağını kullanın:

curl -O https://websitename.com/datafilename.txt

Yeniden adlandırmak için küçük -o + yeni dosya adını kullanın:

curl -o renameddatafilename.txt https://websitename.com/datafilename.txt
Kabukta Veri İşleme

Joker Karakterlerle Çoklu Dosya İndirme

Çoğu zaman bir sunucu benzer dosya adlarıyla birden çok veri dosyası barındırır:

https://websitename.com/datafilename001.txt
https://websitename.com/datafilename002.txt
...
https://websitename.com/datafilename100.txt

Joker karakterler (*) kullanma

https://websitename.com/ üzerinde datafilename ile başlayan ve .txt ile biten tüm dosyaları indirin:

curl -O https://websitename.com/datafilename*.txt
Kabukta Veri İşleme

Globbing Ayrıştırıcı ile Çoklu Dosya İndirme

Önceki örnekten devam edelim:

https://websitename.com/datafilename001.txt
https://websitename.com/datafilename002.txt
...
https://websitename.com/datafilename100.txt

Globbing ayrıştırıcısı kullanma

Aşağıdaki komut datafilename001.txt ile başlayıp datafilename100.txt ile biten tüm dosyaları sırayla indirir.

curl -O https://websitename.com/datafilename[001-100].txt
Kabukta Veri İşleme

Globbing Ayrıştırıcı ile Çoklu Dosya İndirme

Önceki örnekten devam edelim:

https://websitename.com/datafilename001.txt
https://websitename.com/datafilename002.txt
...
https://websitename.com/datafilename100.txt

Globbing ayrıştırıcısı kullanma

Dosyaları artımlı gezip her N'inci dosyayı indirin (örn. datafilename010.txt, datafilename020.txt, ... datafilename100.txt)

curl -O https://websitename.com/datafilename[001-100:10].txt
Kabukta Veri İşleme

Önleyici Sorun Giderme

curl, indirme sırasında zaman aşımı olursa özellikle yararlı iki seçenek sunar:

  • -L 300 hata kodunda HTTP URL'sini yönlendirir.

  • -C Zaman aşımıyla yarım kalan aktarımı sürdürür.

Hepsini birleştirelim:

curl -L -O -C https://websitename.com/datafilename[001-100].txt
  • Tüm bayraklar URL'den önce gelir
  • Bayrakların sırası fark etmez (örn. -L -C -O uygundur)
Kabukta Veri İşleme

Keyifli curl kullanımları!

Kabukta Veri İşleme

Preparing Video For Download...