Python yêu cầu bài tải xuống tập tin

Để tải xuống tệp từ URL bằng Python, hãy sử dụng phương thức requests.get[]. Ví dụ: hãy tải xuống biểu tượng của Instagram

import requests

URL = "//instagram.com/favicon.ico"
response = requests.get[URL]
open["instagram.ico", "wb"].write[response.content]

Đây là một ví dụ cho người đang tìm kiếm câu trả lời nhanh. Nhưng nếu các dòng mã trên không hoạt động hoặc không có ý nghĩa, vui lòng tiếp tục đọc

Các bước chi tiết hơn

Để tải xuống tệp từ URL bằng Python, hãy làm theo ba bước sau
  1. Cài đặt mô-đun yêu cầu và nhập nó vào dự án của bạn
  2. sử dụng yêu cầu. get[] để tải xuống dữ liệu đằng sau URL đó
  3. Ghi tệp vào một tệp trong hệ thống của bạn bằng cách gọi open[]

Đây là một ví dụ

Hãy tải xuống biểu tượng của Instagram bằng Python. Có thể tìm thấy biểu tượng đằng sau URL này https. // mạng xã hội. com/favicon. ico

Đầu tiên, cài đặt mô-đun yêu cầu bằng cách mở cửa sổ dòng lệnh và chạy

pip install requests

Sau đó, bạn có thể sử dụng nó để tải xuống biểu tượng đằng sau URL

# 1. Import the requests library
import requests

URL = "//instagram.com/favicon.ico"

# 2. download the data behind the URL
response = requests.get[URL]

# 3. Open the response into a new file called instagram.ico
open["instagram.ico", "wb"].write[response.content]

Kết quả của việc chạy đoạn mã này, bạn sẽ thấy biểu tượng Instagram xuất hiện trong cùng thư mục chứa tệp chương trình của bạn

Các cách khác để tải xuống tệp trong Python

Có các mô-đun khác giúp tải xuống các tệp có thể trong Python

Ngoài thư viện requests, hai thư viện thường được sử dụng là

  • wget
  • pip install requests
    0

Cách tải xuống tệp bằng mô-đun wget

Trước khi bạn có thể tải xuống tệp bằng cách sử dụng

pip install requests
3, bạn cần cài đặt mô-đun. Mở cửa sổ dòng lệnh và chạy

May mắn cho các chuyên gia khoa học dữ liệu, có nhiều cách để có được dữ liệu hữu ích – thông qua cơ chế thu thập dữ liệu nội bộ của công ty, bằng cách tận dụng API hoặc chỉ bằng cách tải xuống tệp có liên quan từ web

Trong hướng dẫn này, chúng tôi sẽ thảo luận về một trong những phương pháp này – chúng tôi sẽ chỉ cho bạn cách tải xuống các tệp từ web theo cách lập trình với sự trợ giúp của thư viện 'yêu cầu' Python

Nhưng hãy bắt đầu bằng đôi lời về gói 'yêu cầu'

Gói 'yêu cầu' của Python là gì?

Đây là một triển khai thân thiện với người dùng của khái niệm trừu tượng yêu cầu HTTP. Điều đó có nghĩa là bạn với tư cách là người dùng, không cần biết chính xác cách thức hoạt động của các yêu cầu HTTP. Thay vào đó, bạn có thể sử dụng giao diện đơn giản của mô-đun 'yêu cầu'. Đây là một trong những gói Python phổ biến nhất cho mục đích này

Bây giờ chúng tôi đã thông báo cho bạn về gói 'yêu cầu' của Python, hãy tiếp tục và xem xét một cách tiếp cận khá ngây thơ để tải xuống các tệp

Nếu bạn nghĩ về nó một chút, bạn có thể nhận ra rằng việc kết nối với một trang web trên web thực tế giống như việc tải xuống nội dung của nó

Theo logic tương tự, nếu có một tệp mà chúng tôi muốn tải xuống, chúng tôi có thể thực hiện yêu cầu GET đối với tệp đó, nhận phản hồi và sau đó xuất phản hồi đó thành tệp cục bộ trên máy của chúng tôi… Thực tế là tải xuống tệp

Với mục đích của ví dụ này, chúng tôi có thể sử dụng hình ảnh Wikipedia này làm tệp mà chúng tôi muốn lấy

Vì vậy, đây là các bước để tải xuống tệp bằng gói 'yêu cầu' của Python

Điều đầu tiên chúng ta cần làm là nhập 'yêu cầu'.

Sau đó, để đơn giản, hãy lưu URL của tệp trong một biến

Bước tiếp theo là yêu cầu tệp này từ máy chủ

Đây là nơi gói 'yêu cầu' của Python phát huy tác dụng - chúng tôi gửi yêu cầu GET bằng cách sử dụng gói đó. phương thức nhận []. Vâng, thật dễ dàng

Tại thời điểm này, chúng tôi thực sự đã tải xuống dữ liệu, vì vậy chúng tôi chỉ cần ghi dữ liệu đó vào một tệp cục bộ

Tin tốt là việc xử lý các tệp trong Python không khó lắm

Chúng tôi mở hoặc tạo tệp bằng chức năng 'mở' tiêu chuẩn. Nó trả về tệp dưới dạng đối tượng Python. Bằng cách này, chúng tôi lưu trữ nó trong một biến.

Hàm này nhận 2 tham số chính

Cái đầu tiên là tên của tệp chúng tôi muốn mở hoặc tạo cùng với loại của nó

Cái thứ hai thú vị hơn. Nó chỉ định chế độ mà chúng tôi mở tệp. Có một số tùy chọn trong bộ phận này. Ví dụ, những cái phổ biến nhất là

  • 'r'. Mở tệp ở chế độ chỉ đọc;
  • 'rb'. Mở tệp dưới dạng chỉ đọc ở định dạng nhị phân;
  • 'w'. Tạo một tệp ở chế độ chỉ ghi. Nếu tệp đã tồn tại, nó sẽ ghi đè lên tệp đó;
  • 'wb'. Chế độ chỉ ghi ở định dạng nhị phân;
  • 'một'. Mở tệp để nối thêm thông tin mới vào cuối;
  • 'w+'. Mở tệp để ghi và đọc;

Bây giờ bạn đã hiểu dòng đầu tiên làm gì – nó tạo một tệp JPG để ghi ở dạng nhị phân

Tiếp theo, để ghi vào tệp, chúng ta chỉ cần truyền nội dung phản hồi cho phương thức ghi

Cuối cùng, chúng ta nên đóng tệp ở cuối

Điều này rất quan trọng để thực hiện đúng các chương trình và lưu tệp

Điều này hiện đã xuất nội dung đã tải xuống của hình ảnh Wiki sang một tệp cục bộ

Còn một thủ thuật cuối cùng về việc xử lý các tập tin

Để đảm bảo rằng tệp luôn được đóng, bất kể chúng ta làm gì với nó, chúng ta có thể sử dụng câu lệnh 'with' như hình bên dưới. Nó tự động gọi phương thức đóng ở cuối.

Vì vậy, vấn đề với phương pháp tải xuống tệp này là gì?

Chà, những người tinh mắt hơn có thể nhận thấy rằng trước tiên chúng tôi đã nhận được toàn bộ tệp thông qua yêu cầu GET và sau đó chúng tôi đã xem xét toàn bộ để ghi nó vào đĩa cứng

Vấn đề chính với điều này là tệp đầu tiên được lưu trữ hoàn toàn trong RAM trước khi được chuyển vào Ổ cứng. RAM thường không được thiết kế cho mục đích này và điều này thực sự có thể làm chậm quá trình đối với các tệp lớn hơn và có khả năng bị tràn và sập

May mắn thay, gói 'yêu cầu' của Python cung cấp giải pháp cho tình trạng khó xử này

Để minh họa điểm này, chúng ta có thể thử tải xuống tệp video mẫu được cung cấp bởi tệp-ví dụ. trang web com. Đây là mã.

Như bạn thấy, trong yêu cầu GET, chúng ta nên đặt tham số luồng thành 'True'. Điều này cho chương trình biết rằng tệp sẽ được tải xuống thành nhiều phần nhỏ hơn thay vì trong một lần

Sau đó, chúng tôi mở tệp bằng câu lệnh 'with' mà chúng tôi vừa nói về. Tuy nhiên, lần này, chúng ta không thể chỉ viết toàn bộ phản hồi vào tệp, chúng ta cần thực hiện theo từng phần

Đó là lý do tại sao chúng ta có 'vòng lặp for'

Một điều cần lưu ý ở đây là tham số ‘chunk size’. Điều này biểu thị mức độ lớn của một đoạn nên được đọc tại một thời điểm, điều này có thể làm tăng hoặc giảm tốc độ tải xuống. Kích thước tối ưu phụ thuộc vào hệ thống và tốc độ internet của bạn, vì vậy bạn có thể cần thử nghiệm một chút với nó

Phương pháp tải xuống tệp này nhanh hơn nhiều vì nó sử dụng RAM để chỉ lưu trữ một đoạn tại một thời điểm

Một lưu ý cuối cùng là khi đặt tham số luồng, kết nối đến máy chủ web có thể cần phải đóng. Vì vậy, chúng tôi sẽ sử dụng một 'với' khác cho yêu cầu. Mã cuối cùng trông như thế này.

Vì vậy, đây là một cách để có được dữ liệu hữu ích. Tuy nhiên, sau đó, bạn vẫn cần phân tích nó. Điều đó nói rằng, nếu bạn muốn củng cố bộ kỹ năng phân tích của mình, hãy xem chương trình Khoa học dữ liệu hoàn chỉnh của chúng tôi. Nó được thiết kế để giúp bạn phát triển tất cả các năng lực theo yêu cầu cho công việc của nhà khoa học dữ liệu hoặc nhà phân tích dữ liệu. Nếu bạn vẫn không chắc chắn muốn biến sở thích của mình về khoa học dữ liệu thành một nghề nghiệp toàn diện, thì chúng tôi cũng cung cấp bản xem trước miễn phí của Chương trình khoa học dữ liệu. Bạn sẽ nhận được miễn phí 12 giờ nội dung từ cơ bản đến nâng cao. Đó là một cách tuyệt vời để xem liệu chương trình có phù hợp với bạn hay không

Chúng tôi có thể tải xuống tệp có yêu cầu POST không?

Như với HTTP GET, việc tải xuống tệp từ máy chủ HTTP qua HTTP POST bao gồm các bước sau. Xây dựng yêu cầu HTTP POST để gửi đến máy chủ HTTP. Gửi yêu cầu HTTP và nhận Phản hồi HTTP từ máy chủ HTTP. Lưu nội dung của tệp từ Phản hồi HTTP vào tệp cục bộ

Tôi nên tải xuống tệp GET hay POST?

GET dùng để truy xuất tệp một cách thụ động, POST dùng để thay đổi thông tin trên máy chủ . Điều này được nhìn thấy từ máy khách, không quan trọng máy chủ làm gì hoặc không làm gì trong quá trình. Vì vậy, trừ khi bạn đang thay đổi một số trạng thái máy chủ trong yêu cầu. LẤY.

Nội dung phản hồi trong Python là gì?

Các yêu cầu Python thường được sử dụng để tìm nạp nội dung từ một URI tài nguyên cụ thể. Bất cứ khi nào chúng tôi yêu cầu một URI được chỉ định thông qua Python, nó sẽ trả về một đối tượng phản hồi. Bây giờ, đối tượng phản hồi này sẽ được sử dụng để truy cập một số tính năng như nội dung, tiêu đề, v.v. .

Chủ Đề