Hướng dẫn python to download file from url - python để tải xuống tệp từ url
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. Show
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
Tôi muốn tải xuống tất cả các tệp từ một trang web. Tôi đã thử url = 'https://www.facebook.com/favicon.ico' r = requests.get(url, allow_redirects=True)2 nhưng nó đã thất bại vì vậy tôi đã quyết định cho tuyến đường Python và tôi đã tìm thấy chủ đề này. Sau khi đọc nó, tôi đã thực hiện một ứng dụng dòng lệnh nhỏ, url = 'https://www.facebook.com/favicon.ico' r = requests.get(url, allow_redirects=True)3, mở rộng trên các câu trả lời tuyệt vời của Pablog và Stan và thêm một số tùy chọn hữu ích. Nó sử dụng Beardifulsoup để thu thập tất cả các URL của trang và sau đó tải xuống những cái có phần mở rộng mong muốn. Cuối cùng, nó có thể tải xuống nhiều tập tin song song. Đây là:
Một ví dụ về việc sử dụng của nó là: url = 'https://www.facebook.com/favicon.ico' r = requests.get(url, allow_redirects=True)0 Và một ví dụ thực tế nếu bạn muốn xem nó trong hành động: url = 'https://www.facebook.com/favicon.ico' r = requests.get(url, allow_redirects=True)1 Làm cách nào để tự động tải xuống một tệp từ một trang web bằng Python?Nhập mô -đun. Nhập yêu cầu .. Nhận liên kết hoặc URL. url = 'https://www.facebook.com/favicon.ico' r = requests.get (url, allow_redirects = true). Lưu nội dung với tên. Mở ('Facebook.ICO', 'WB'). Viết (R.Content) lưu tệp dưới dạng Facebook. .... 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 .. Làm cách nào để tạo nút tải xuống trong Python?Việc triển khai nút tải xuống yêu cầu hai phần: Triển khai tiện ích nút Proto/Frontend để chấp nhận URL và tên tệp tải xuống và tải xuống URL được chỉ định.Thực hiện API ở phía Python để tạo nút.Implement the Proto/Frontend Button Widget to accept a download URL and file name and download the URL specified. Implementing the API on the Python side to create a button.
Yêu cầu có nhận được tệp tải xuống không?Yêu cầu là một thư viện HTTP đa năng trong Python với các ứng dụng khác nhau.Một trong những ứng dụng của nó là tải xuống một tệp từ web bằng URL tệp.download a file from web using the file URL.
Làm thế nào để bạn tải xuống một hình ảnh từ một url trong python?Chúng ta có thể hoàn thành nhiệm vụ này bằng một trong các tùy chọn sau:.. Phương pháp 1: Sử dụng yêu cầu.Nhận () và viết (). Phương pháp 2: Sử dụng yêu cầu.Nhận () và hình ảnh .. Phương pháp 3: Sử dụng yêu cầu.Nhận () và Shutil .. Phương pháp 4: Sử dụng urllib.lời yêu cầu.urlretrieve (). Phần thưởng: Tải xuống tất cả các hình ảnh bằng cách sử dụng một vòng lặp .. |