Trong bài này, tôi sẽ hướng dẫn các bạn một thủ thuật cơ bản trong lập trình Python. Đó là cách tải file từ trên mạng về máy tính.

Chuẩn bị môi trường

Để thực hiện các bước trong hướng dẫn này, các bạn cần chuẩn bị các công cụ sau trên máy của bạn:

  • Python 3. Bạn cũng có thể sử dụng Python 2, nhưng khuyến khích sử dụng Python 3 vì Python 2 đã không còn được chính thức hỗ trợ nữa.

Tải file từ Internet

Để thực hiện tải file, chúng ta sẽ sử dụng tới thư viện requests, một trong những thư viện nổi tiếng nhất để xử lý các kết nối giao thức HTTP bằng Python.

$ pip install requests

Sau đó thì có thể sử dụng requests vô trong mã nguồn Python.

import requests

Logic của việc tải file từ trên Internet về máy, cơ bản là thực hiện qua 2bước sau:

  1. Gửi request tới file cần tải về.
  2. Đọc phần content của file và ghi lại vào file trên máy tính.

Dựa vào đó mã nguồn để tải file nguồn trên mạng của chúng ta như sau:

file_url = "https://viziondary.com/wp-content/uploads/2019/01/pexels-photo-943096.jpeg"

req = requests.get(file_url)

with open('save_image.jpeg', 'wb') as f:
    f.write(req.content)

Để đảm bảo file chúng ta tải về từ trên mạng được giữ đúng định dạng của nó thì hãy luôn luôn ghi file ở chế độ binary, tức là “wb”.

Content của file chúng ta cần xử lý nằm trong request.content; do đó, chỉ cần đọc nội dung từ đây và ghi thẳng vô máy là được.

Ngoài ra, sau khi thực hiện request, bạn cũng có thể kiểm tra mã HTTP status trả về là gì để có thể xử lý khi thất bại, request.status_code. Thường thì với status_code = 200 hay status_code = 302 là thành công trong trường hợp này.

Sau khi thực thi đoạn code Python tải file ở trên, bạn sẽ thấy một file mới được tạo save_image.jpeg nằm ngay thư mục hiện tại. Bạn có thể tuỳ ý lưu file vào đâu trong máy tính của bạn bằng cách thay đổi đường dẫn ở tham số thứ nhất trong hàm open.

LEAVE A REPLY

Please enter your comment!
Please enter your name here