Cara Mengunduh File Dengan Python
Python menyediakan beberapa cara untuk mengunduh file dari internet. Ini dapat dilakukan melalui HTTP menggunakan urllib package atau requests library. Tutorial kali ini kita akan membahas cara menggunakan library ini untuk mengunduh file dari URL menggunakan Python.
REQUEST
Requests library adalah salah satu library paling populer di Python. Request memungkinkan Anda untuk mengirim permintaan HTTP / 1.1 tanpa perlu menambahkan string kueri ke URL Anda secara manual, atau form-encode POST data Anda.
Baca Juga : Grab Twitter User Data Menggunakan Python
Dengan Requests library, Anda dapat melakukan banyak fungsi termasuk:
- menambahkan form data
- menambahkan multipart files
- dan mengakses data respons Python
MEMBUAT REQUEST
Yang pertama harus Anda lakukan adalah menginstal library dan sesederhana:
1: pip install requests
Jika instalasi berhasil, tidak akan ada kesalahan.
HTTP Request meliputi:
- GET
- POST
- PUT
- DELETE
- OPTIONS
- HEAD
Membuat GET Request
Membuat request sangat mudah seperti digambarkan di bawah ini.
1: import requests
2: req = requests.get(“https://www.google.com”)
Perintah di atas akan mendapatkan halaman web google dan menyimpan informasi dalam variabel req. Kita kemudian bisa mendapatkan atribut lainnya juga.
Misalnya, untuk mengetahui apakah pengambilan halaman web google berhasil, kita akan menanyakan status_code.
1: import requests
2: req = requests.get(“http://www.google.com")
3: req.status_code
4: 200
5: # 200 means a successful request
Bagaimana jika kita ingin mengetahui encoding type halaman web Google?
1: req.encoding
2: ISO-8859–1
Anda mungkin juga ingin tahu isi tanggapannya.
1: req.text
Ini hanya konten yang terpotong dari respons.
1: '<!doctype html><html itemscope="" itemtype="http://schema.org/WebPage" lang="en
2: "><head><meta content="Search the world\'s information, including webpages, imag
3: es, videos and more. Google has many special features to help you find exactly w
4: hat you\'re looking for." name="description"><meta content="noodp" name="robots"
5: ><meta content="text/html; charset=UTF-8" http-equiv="Content-Type"><meta conten
6: t="/images/branding/googleg/1x/googleg_standard_color_128dp.png" itemprop="image
7: "><title>Google</title><script>(function(){window.google={kEI:\'_Oq7WZT-LIf28QWv
Membuat POST Request
Secara sederhana, POST Request digunakan untuk membuat atau memperbarui data. Ini terutama digunakan dalam penyerahan formulir.
Mari kita asumsikan Anda memiliki formulir pendaftaran yang mengambil alamat email dan kata sandi sebagai data input, ketika Anda mengklik tombol kirim untuk pendaftaran, permintaan posting akan seperti yang ditunjukkan di bawah ini.
1: data = {"email":"info@matapanda-crew.com",
2: "password":"12345")
3: req = requests.post(“http://www.google.com, params = data)
Membuat PUT Request
PUT Request mirip dengan POST Request. Ini digunakan untuk memperbarui data. Misalnya, API di bawah ini menunjukkan cara melakukan permintaan PUT.
1: data= {"name":"matapanda-crew", 2: "telephone":"12345") 3: r.put("http://www.contact.com, params= data")
Membuat DELETE Request
DELETE Request, seperti namanya, digunakan untuk menghapus data. Di bawah ini adalah contoh DELETE Request
1: data= {'name':'matapanda-crew'} 2: url = "https://www.contact.com/api/") 3: response = requests.delete(url, params= data)
Urllib Package
urllib adalah package yang mengumpulkan beberapa modul untuk bekerja dengan URL yaitu:
- urllib.request untuk membuka dan membaca URL.
- urllib.error berisi pengecualian yang diajukan oleh urllib.request
- urllib.parse untuk parsing URL.
- urllib.robotparser untuk parsing file robots.txt.
urllib.request menawarkan interface yang sangat sederhana, dalam bentuk fungsi urlopen yang mampu mengambil URL menggunakan berbagai protokol yang berbeda. Ini juga menawarkan interface yang sedikit lebih kompleks untuk menangani otentikasi dasar, cookie, proksi, dan lainnya.
Cara Mengambil URL Dengan urllib
Cara paling sederhana untuk menggunakan urllib.request adalah sebagai berikut:
1: import urllib.request
2: with urllib.request.urlopen('http://python.org/') as response:
3: html = response.read()
Jika Anda ingin mengambil internet resource dan menyimpannya, Anda dapat melakukannya melalui fungsi urlretrieve ().
1: import urllib.request
2: filename, headers = urllib.request.urlretrieve('http://python.org/')
3: html = open(filename)
Mengunduh Gambar Dengan Python
Dalam contoh ini, kita akan mengunduh gambar yang tersedia di tautan ini menggunakan modul llibrary request dan urllib.
Baca Juga : Cara Menggunakan IDM Lewat Termux
1: url = 'https://www.python.org/static/opengraph-icon-200x200.png'
2: # downloading with urllib
3: # imported the urllib library
4: import urllib
5: # Copy a network object to a local file
6: urllib.urlretrieve(url, "python.png")
7: # downloading with requests
8: # import the requests library
9: import requests
10: # download the url contents in binary format
11: r = requests.get(url)
12: # open method to open a file on your system and write the contents
13: with open("python1.png", "wb") as code:
14: code.write(r.content)
Unduh File PDF Dengan Python
Dalam contoh ini, kita akan mengunduh pdf tentang tren Google dari tautan ini.
1: url = 'https://static.googleusercontent.com/media/www.google.com/en//googleblogs/pdfs/google_predicting_the_present.pdf'
2: # downloading with urllib
3: # import the urllib package
4: import urllib
5: # Copy a network object to a local file
6: urllib.urlretrieve(url, "tutorial.pdf")
7: # downloading with requests
8: # import the requests library
9: import requests
10: # download the file contents in binary format
11: r = requests.get(url)
12: # open method to open a file on your system and write the contents
13: with open("tutorial1.pdf", "wb") as code:
14: code.write(r.content)
Unduh File Zip Dengan Python
Dalam contoh ini, kita akan mengunduh konten repositori GitHub yang ditemukan di tautan ini dan menyimpan file secara lokal.
1: url = 'https://codeload.github.com/Dayat-eMJe/Template-Blogger-LK21/zip/master'
2: # downloading with requests
3: # import the requests library
4: import requests
5: # download the file contents in binary format
6: r = requests.get(url)
7: # open method to open a file on your system and write the contents
8: with open("minemaster1.zip", "wb") as code:
9: code.write(r.content)
10: # downloading with urllib
11: # import the urllib library
12: import urllib
13: # Copy a network object to a local file
14: urllib.urlretrieve(url, "minemaster.zip")
Unduh Video Dengan Python
Dalam contoh ini, kami ingin mengunduh video ceramah yang tersedia di halaman ini
1: url = 'https://www.youtube.com/watch?v=DTF04S85R0M'
2: video_name = url.split('/')[-1]
3: # using requests
4: # imported the requests library
5: import requests
6: print "Downloading file:%s" % video_name
7: # download the url contents in binary format
8: r = requests.get(url)
9: # open method to open a file on your system and write the contents
10: with open('tutorial.mp4', 'wb') as f:
11: f.write(r.content)
12: # using urllib
13: # imported the urllib library
14: import urllib
15: print "Downloading file:%s" % video_name
16: # Copy a network object to a local file
17: urllib.urlretrieve(url, "tutorial2.mp4")
Kesimpulan
Tutorial ini telah membahas metode yang paling umum digunakan untuk mengunduh file dan juga format file yang paling umum. Meskipun Anda akan menulis lebih sedikit kode ketika menggunakan modul urllib, modul request lebih disukai karena kesederhanaannya, popularitasnya dan beragam fitur termasuk:
- Keep-Alive & Connection Pooling
- International Domains and URLs
- Sessions with Cookie Persistence
- Browser-style SSL Verification
- Automatic Content Decoding
- Basic/Digest Authentication
- Elegant Key/Value Cookies
- Automatic Decompression
- Unicode Response Bodies
- HTTP(S) Proxy Support
- Multipart File Uploads
- Streaming Downloads
- Connection Timeouts
- Chunked Requests
- .netrc Support
Mungkin Itu saja yang bisa saya bagikan di tutorial kali ini, sampai berjumpa di tutorial selanjutnya.

Post a Comment
Untuk menyisipkan kode pendek, gunakan <i rel="code"> ... KODE ... </i>
Untuk menyisipkan kode panjang, gunakan <i rel="pre"> ... KODE ... </i>
Untuk menyisipkan gambar, gunakan <i rel="image"> ... URL GAMBAR ... </i>