Hướng dẫn how do i download a text file from a url in python? - làm cách nào để tải xuống tệp văn bản từ url trong python?
Trên thực tế, cách đơn giản nhất là:
Bạn thậm chí không cần "đọc lại", như đã đề xuất. Bạn thậm chí có thể rút ngắn nó thành: *
Nhưng hãy nhớ trong Python, vấn đề dễ đọc. Tuy nhiên, đây là cách đơn giản nhất nhưng không phải là cách an toàn vì hầu hết thời gian với lập trình mạng, bạn không biết liệu lượng dữ liệu mong đợi có được tôn trọng hay không. Vì vậy, bạn thường đọc tốt hơn một lượng dữ liệu cố định và hợp lý, một cái gì đó bạn biết là đủ cho dữ liệu bạn mong đợi nhưng sẽ ngăn chặn kịch bản của bạn bị ngập lụt:
* Ví dụ thứ hai trong Python 3: Python cung cấp các mô -đun khác nhau như urllib, yêu cầu vv để tải xuống các tệp từ web. Tôi sẽ sử dụng thư viện yêu cầu của Python để tải xuống các tệp một cách hiệu quả từ các URL. Hãy bắt đầu xem xét thủ tục từng bước để tải xuống các tệp bằng URL bằng thư viện yêu cầu - 1. Nhập mô -đunimport requests 2. Nhận liên kết hoặc URLurl = 'https://www.facebook.com/favicon.ico' r = requests.get(url, allow_redirects=True) 3. Lưu nội dung với tên.open('facebook.ico', 'wb').write(r.content) Lưu tệp dưới dạng Facebook.ICO. Thí dụimport requests url = 'https://www.facebook.com/favicon.ico' r = requests.get(url, allow_redirects=True) open('facebook.ico', 'wb').write(r.content) Kết quảChúng ta có thể thấy tệp được tải xuống (biểu tượng) trong thư mục làm việc hiện tại của chúng tôi. Nhưng chúng ta có thể cần tải xuống các loại tệp khác nhau như hình ảnh, văn bản, video, vv từ web. Vì vậy, trước tiên, hãy để có được loại dữ liệu mà URL đang liên kết đến− >>> r = requests.get(url, allow_redirects=True) >>> print(r.headers.get('content-type')) image/png Tuy nhiên, có một cách thông minh hơn, liên quan đến việc tìm kiếm các tiêu đề của một URL trước khi thực sự tải xuống nó. Điều này cho phép chúng tôi bỏ qua việc tải xuống các tệp mà người sói có nghĩa là sẽ được tải xuống. >>> print(is_downloadable('https://www.youtube.com/watch?v=xCglV_dqFGI')) False >>> print(is_downloadable('https://www.facebook.com/favicon.ico')) True Để hạn chế tải xuống theo kích thước tệp, chúng tôi có thể lấy FileZie từ tiêu đề độ dài nội dung và sau đó thực hiện theo yêu cầu của chúng tôi. 0Nhận tên tệp từ một urlĐể có được tên tệp, chúng ta có thể phân tích URL. Dưới đây là một thói quen mẫu lấy chuỗi cuối cùng sau khi chao đảo (/). 1Trên đây sẽ cung cấp tên tệp của URL. Tuy nhiên, có nhiều trường hợp thông tin tệp không có trong URL chẳng hạn - http://url.com/doad. Trong trường hợp như vậy, chúng ta cần phải có tiêu đề xử lý nội dung, chứa thông tin tên tệp. 2Mã phân tích URL trên kết hợp với chương trình trên sẽ cung cấp cho bạn tên tệp từ tiêu đề xử lý nội dung hầu hết thời gian.
Cập nhật vào ngày 30 tháng 3 năm 2019 22:30:26
|