Hướng dẫn python download file from url and save - tập tin tải xuống python từ url và lưu
Tôi mới đến Python và tôi đã trải qua câu hỏi và trả lời trên trang web này, để có câu trả lời cho câu hỏi của tôi. Tuy nhiên, tôi là người mới bắt đầu và tôi cảm thấy khó hiểu một số giải pháp. Tôi cần một giải pháp rất cơ bản. Ai đó có thể vui lòng giải thích một giải pháp đơn giản để 'tải xuống tệp thông qua HTTP' và 'Lưu nó vào đĩa, trong Windows', cho tôi không? Tôi cũng không chắc làm thế nào để sử dụng các mô -đun SHOTIL và HĐH. Tệp tôi muốn tải xuống dưới 500 MB và là tệp lưu trữ .gz. Nếu ai đó có thể giải thích cách trích xuất kho lưu trữ và sử dụng các tệp trong đó, điều đó cũng rất tuyệt! Đây là một giải pháp một phần mà tôi đã viết từ các câu trả lời khác nhau kết hợp:
Ai đó có thể chỉ ra lỗi (cấp độ mới bắt đầu) và giải thích bất kỳ phương pháp nào dễ dàng hơn để thực hiện điều này? Có thể bạn quan tâmThanks! 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. contentLength = header.get('content-length', None) if contentLength and contentLength > 2e8: # 200 mb approx return False Nhậ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 (/). url= "http://www.computersolution.tech/wp-content/uploads/2016/05/tutorialspoint-logo.png" if url.find('/'): print(url.rsplit('/', 1)[1] Trê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. import requests import re def getFilename_fromCd(cd): """ Get filename from content-disposition """ if not cd: return None fname = re.findall('filename=(.+)', cd) if len(fname) == 0: return None return fname[0] url = 'http://google.com/favicon.ico' r = requests.get(url, allow_redirects=True) filename = getFilename_fromCd(r.headers.get('content-disposition')) open(filename, 'wb').write(r.content) Mã 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
|
Bài Viết Liên Quan
Hướng dẫn dùng sql arrays trong PHP
Mảng Chạy thử, kết quả export của biến $names array ( 0 => An, 1 => Minh, 2 => Long, ) 9 là một loại biến đặc biệt, trong nó giữ nhiều giá trị. Mỗi ...
Python động cơ vật lý 3d
Pymunk là một thư viện vật lý 2d Pythonic dễ sử dụng, có thể được sử dụng bất cứ khi nào bạn cần vật lý vật thể cứng 2d từ Pythonthư viện python ...
Chạy lệnh sudo trong Python
edlentzLập trình viên tên TimBài đăng. 11Chủ đề. 7Đã tham gia. Tháng 10 năm 2017Danh tiếng. 0#112-11-2020, 02. 56 CHTôi có một tập lệnh sẽ chạy một số lệnh ...
Lễ hội kim loại 2023 Đức
Lễ hội Rock Hard đã công bố các tiết mục đầu tiên cho năm 2023. Lễ hội cũng đang kỷ niệm hai ngày kỷ niệm vào năm tớiLễ hội Rock Hard kỷ niệm sinh nhật ...
Ngày bây giờ php mysql
Bất cứ ai làm việc với dữ liệu sẽ gặp phải các giá trị ngày tháng tại một số điểm. Ngày là cần thiết vì nhiều lý do. Nếu bạn là Nhà phát triển ...
Who is playing at the Super Bowl 2023
Mùa bóng đá đã đến và mọi đội đang chiến đấu để có cơ hội cạnh tranh trong trận đấu cuối cùng. Super Bowl LVII, nhưng Rihanna đã đạt được vị trí ...
Xác thực phương thức phản ứng-bootstrap
Đó là nó từ hướng dẫn này. Bạn có thể tiếp tục học hỏi điều này và thay vì chỉ đóng phương thức, bạn có thể thực hiện những việc khác như ...
Định dạng thời gian trong javascript là gì?
Thao tác ngày giờ nổi tiếng là khó. Các nhà phát triển gặp phải quy tắc múi giờ, giây nhảy vọt, sự khác biệt về định dạng dành riêng cho ngôn ngữ nên ...
Chương trình Python để chuyển đổi feet thành mét
Với khoảng cách tính bằng mét hoặc yard, nhiệm vụ ở đây là tạo một chương trình Python chuyển đổi khoảng cách tính bằng mét thành yard và ngược lạiví ...
Game điều khiển với python
Tại đây, một chương trình đơn giản trong Python có thể hiển thị một số khái niệm cơ bản quan trọng trong việc thiết lập máy tính. Chương trình mô phỏng ...
Bạn có thể thao tác css với javascript không?
Khi nói đến việc tạo kiểu cho một số nội dung, cách phổ biến nhất là tạo quy tắc kiểu và để bộ chọn của nó nhắm mục tiêu một phần tử hoặc nhiều ...
Cách lấy dữ liệu từ MongoDB bằng Reacjs
API là viết tắt của Giao diện lập trình ứng dụng. Api web phổ biến nhất được sử dụng là API chuyển trạng thái đại diện hoặc API RESTful. API web được ...
Làm cách nào để nhận các giá trị mảng duy nhất bằng hàm PHP Array_unique?
Tiếp tục đọc để tạo một hệ thống kiểm tra danh tính không cho phép nhiều mục nhập mảng dựa trên các giá trị lặp lạinội dungPHP array_unique là gì?Hàm ...
Cách tìm số lặp lại trong Excel
Nếu bạn có một danh sách dữ liệu trong một trang tính với các giá trị duy nhất và giá trị trùng lặp và bạn không chỉ muốn đếm tần suất của các giá ...
Làm cách nào để sử dụng mã hóa trong Laravel?
Trong dự án của bạn, bạn có thể lưu trữ một số dữ liệu cá nhân hoặc thông tin xác thực nhạy cảm trong cơ sở dữ liệu của mình. Nếu một người không ...
Lệnh nào được sử dụng để hiển thị biểu đồ trong python?
là tập hợp các hàm giúp matplotlib hoạt động giống như MATLAB. Mỗi hàm plt.plot([1, 2, 3, 4], [1, 4, 9, 16]) 8 thực hiện một số thay đổi đối với một hình. e. g. ...
Bán Chevrolet Camaro SS 2023
Hộp số, Số tự động 10 cấp, Gói Rs, Gói Công nghệ, Sọc trùm đầu màu đen sa tanh với Dấu băm đỏ, Bộ kẹp phanh, Sơn đỏ, Gói đai ốc và khóa bánh xe màu ...
Fiscal year 2023 Calendar Excel
Microsoft Excel là một nơi tuyệt vời để tạo lịch, vì nó rất dễ truy cập và rất dễ nhập thông tin vàoTrên trang này, bạn sẽ tìm thấy một số loại mẫu ...
Số cuộc gọi giả python
Plugin này cài đặt một bộ cố định mô phỏng là một trình bao bọc mỏng xung quanh API vá do gói mô phỏng cung cấp, nhưng với lợi ích là không phải lo lắng ...
Bạn có thể vlookup nhiều cột trên google sheet không?
Có hai khía cạnh đối với việc sử dụng Vlookup với nhiều tiêu chí trong Google Trang tính. Hãy để tôi minh họa tương tự1. Vlookup nhiều tiêu chí từ một cột ...